繁体   English   中英

如何循环访问数组中的PHP值,例如[“ val1”,“ val2”,“ val3”]

[英]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";
}

非常感谢你!

更新:

我想得到什么? 从文件管理器作为$ _POST传递的值

我要如何进行? 我将发布的每个结果保存到数据库中

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

数据库

好的,这是所有$_POST值的var:

$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..
}

在这里找到了这个答案: https : //stackoverflow.com/a/47266239/4928816

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

谢谢所有试图帮助我的人!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM