如何在循环中访问 ["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),您可以使用此代码来实现。
感谢所有帮助过我的人!
我在从单个方括号数组中获取值时遇到问题。得到这个
//$_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),您可以使用此代码来实现。
感谢所有帮助过我的人!