【问题标题】:PHP array not extracting as expected - why is this?PHP 数组未按预期提取 - 这是为什么呢?
【发布时间】:2013-08-13 13:41:31
【问题描述】:

在 foreach 循环中使用数组时

$stdlist = rtrim(trim($_POST['stdlist'], '/'), '/');
$stdlist = explode('/' , $stdlist);
print_r($stdlist);
foreach($stdlist as $value)
{
    echo "<br>";
    echo $_POST[$value];
}

数组 $stdlist 显然是有效的;打印时返回:

Array ( [0] => 1 [1] => 6 [2] => 7 [3] => 8 )

我的问题是,当我使用 foreach 循环一次从数组中提取一个值时,以下内容会打印到页面上:

4
4
Notice: Undefined offset: 7 in C:\Program Files\wamp\www...on line 35
Notice: Undefined offset: 7 in C:\Program Files\wamp\www...on line 35

我知道这并没有按预期运行:

1
6
7
8

有人能解释一下为什么会发生这种情况以及如何解决这个问题吗?谢谢:-)

【问题讨论】:

  • '当我使用 foreach 循环提取时' -- 你是如何使用foreach 循环的?你能发布那个代码吗?
  • 确认$_POST是否填充了1678作为key。

标签: php html arrays foreach extract


【解决方案1】:

您必须打印 $value 因为 $value 具有原始数组值而不是索引。 而你在$stdlist 中通过爆炸这个帖子变量$_POST['stdlist'] 得到数组。

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

现在您将获得所需的结果。

【讨论】:

    【解决方案2】:

    当你对数组使用foreach循环时,不要使用echo $_POST[$value];,而是使用echo $value,每个节点上的值都会自动提取。

    foreach ($array as $index=>$value){
       echo "index is $index and value associated with it is $value.";
    }
    

    希望这会有所帮助。

    【讨论】:

    • 有人已经回答了这个问题 - 不过在这种情况下你是正确的 - 我没有指定 $_POST 正在检索单选按钮表单提交但是抱歉造成混淆!不过感谢您的帮助!
    【解决方案3】:
    foreach($stdlist as $value)
    {
      echo "<br>";
      echo $value;
    }
    

    当你使用foreach时,$value不是数组中的位置,如果你想使用你需要做的位置

    for($pos=0; $pos<sizeof($stdlist); $pos++)
    {
      echo "<br>";
      echo $stdlist[$pos];
    }
    

    【讨论】:

      【解决方案4】:

      在使用 foreach() 循环时,我建议将位置和值都分配给它们各自的变量,然后将它们打印到屏幕上以查看 foreach 循环是如何分配值的。

      foreach( $stdlist as $position => $value ) {
         echo "The current position is $position, and the value of \$stdlist[$position] is
         $value";
      }
      

      【讨论】:

        猜你喜欢
        • 2019-06-14
        • 1970-01-01
        • 2012-07-08
        • 1970-01-01
        • 2022-08-02
        • 2020-12-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多