我在从单个方括号数组中获取值时遇到问题。得到这个
//$_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
并且仍然将所有内容作为数组保存到数据库中的单行中,我需要为每条记录添加新行。
答案 0 :(得分:2)
好吧,这是您所有$_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";
答案 1 :(得分:0)
确定了! 现在,我想与世界分享答案,因为可能会有其他人将面临与我同样的问题。
在我尝试了所有的工作之后,是:
$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..
}
在这里找到了这个答案:https://stackoverflow.com/a/47266239/4928816
因此,如果有人需要根据我的需要将变量从独立的响应文件管理器传递到PHP(http://www.responsivefilemanager.com/demo.php),则可以使用此代码来实现。
感谢所有试图帮助我的人!