【问题标题】:How to access PHP values in array like ["val1","val2","val3"] in loop如何在循环中访问 ["val1","val2","val3"] 等数组中的 PHP 值
【发布时间】:2019-01-07 11:17:48
【问题描述】:

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

//$_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

【问题讨论】:

  • 这不是你得到的吗?当我测试它时它工作正常..在每次迭代中我得到 val1 val2 和 val3
  • 那有什么用?您将在循环的每次迭代中覆盖$valget。你能更具体一点你想要什么吗?
  • 您会覆盖每次迭代 $valget 变量,因此在循环结束时您的变量包含 $_POST['values'] 数组的最后一个值。 ps 不直接访问 $_POST 数组
  • 我正在尝试从响应式文件管理器的多选中获取数据。然后每个值都是图像,所以我需要将每个图像作为单个记录保存到数据库中,唯一的问题是我仍然将整个数组保存在数据库中。作为 ["videoeditor/public/userfiles/output/1/img/frame_1532197324_5b5379cca825a_1-00.jpg","videoeditor/public/userfiles/output/1/img/frame_1532088244_5b51cfb4d99cb_1-00.jpg","videoeditor/public/userfiles/output /1/img/frame_1531930204_5b4f665c1283e_1-00.jpg"]
  • 所以更新你的问题。如果我理解您必须将您的值保存到循环内的 db 中。

标签: php arrays for-loop each brackets


【解决方案1】:

好的,这就是你的所有$_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";

【讨论】:

    【解决方案2】:

    好的,明白了! 现在我想与世界分享答案,因为可能会有其他人面临和我一样的问题。

    在我尝试了所有工作之后:

        $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

    因此,如果有人需要根据我的需要将变量从独立的 responsivefilemanager 传递给 PHP (http://www.responsivefilemanager.com/demo.php),您可以使用此代码来执行此操作。

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

    【讨论】:

      猜你喜欢
      • 2019-05-16
      • 2016-12-03
      • 2015-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-04
      • 1970-01-01
      相关资源
      最近更新 更多