如何在循环中访问 ["val1"、"val2"、"val3"] 等数组中的 PHP 值

How to access PHP values in array like ["val1","val2","val3"] in loop

我在从单个方括号数组中获取值时遇到问题。得到这个

//$_POST["values"] == ["val1","val2","val3"]
$val = $_POST["values"]; 

我想要这样的东西:

foreach( $val as $value ) {
   $valget = $value;
   //need to get all values like $valget = "val1";
}

非常感谢!

更新:

我想得到什么? Values passed as $_POST from filemanager

我想如何进行? I wnat for each every result of post save into database

并且仍然将所有作为数组保存到数据库中到单行,我需要为每条记录新行。

Database

好的,这是你的所有 $_POST 值的变量:

$val = $_POST["values"]; 

这就是你所做的:

foreach($val as $value) {
    $valget = $value;
}

所以每次 $valget 都会被下一次 $value

擦除
// First loop : $valget == "val1"
// Second loop : $valget == "val2"
// Third loop : $valget == "val3"

所以最后如果你echo $valget;你会得到最后的结果:$valget == "val3"

如果你想得到每一个,这里有一些解决方案:

1/回显每个值:

foreach($val as $value) {
    echo $value . "<br>";
}

这样你会输出

val1
val2
val3

2/ 什么都不做,因为 $val 已经是一个包含所有值的数组:

$val = $_POST["values"];

$val = array(
    0 => "val1",
    1 => "val2",
    2 => "val3"
);

因此您可以通过以下方式访问每个值:

$val[0] == "val1";
$val[1] == "val2";
$val[2] == "val3";

3/ 如果您想以其他方式找到它们,请更改密钥:

// New array
$valget = array();

// Create a new index
$index = 1;

foreach($val as $value) {
    $valget[$index] = $value;
    $index++;
}

这样你将拥有:

$valget[1] == "val1";
$valget[2] == "val2";
$valget[3] == "val3";

好的知道了! 现在我想与世界分享答案,因为可能会有其他人遇到和我一样的问题。

在我尝试了一切之后,唯一有效的是:

    $numbers = json_decode($_POST['file_img']); //post images from <form> and decode array

    foreach($numbers as $index => &$number){  
        ++$number; # we are incrementing the original value
        echo 'Inside of the array = ', $index, ': ', $number, '<br />'; # this is showing the original value

so now $number = "every single image";
Now save to db or whatever..
}

这个答案是在这里找到的:

因此,如果有人需要根据我的需要将变量从独立的响应文件管理器传递到 PHP (http://www.responsivefilemanager.com/demo.php),您可以使用此代码来实现。

感谢所有帮助过我的人!