【问题标题】:How to insert values into a php array using for loop and condition如何使用 for 循环和条件将值插入 php 数组
【发布时间】:2016-10-18 16:24:33
【问题描述】:

我想使用如下条件将值插入到 php 数组中,但它没有发生。

如果有任何其他方法可以做到这一点,请告诉我,因为我收到“未定义偏移”错误。

$noarray = array();

for ($i=1; $i<=10 ;$i++)
{
    $noarray[]=$i;
    echo $noarray[$i] . "<br/>"; 
}

【问题讨论】:

  • 什么条件?另请注意,如果您使用$noarray[] = $i;,您的数组将从 0 开始索引,并且您尝试从索引 1 开始。
  • 改进格式和措辞

标签: php arrays for-loop indexing


【解决方案1】:

您正在将$i 添加为$noarray 数组中的值。

所以你是一步一步来的,当$i == 1for中的第一步)你会添加$i(1)的数组值的第一个元素。 因为在 php 中索引从 0 开始,你将有一个这样的数组: [0 =&gt; 1] 只有一个元素。 在这一步,您尝试通过索引$i = 1 访问数组,但您只有索引 0 处的值。

我不知道你到底想做什么,但你把索引和值弄乱了。

可能你想要这样的东西:

$noarray=array();
for ($i=1; $i<=10 ;$i++)
    {
        $noarray[$i] = $i;
        echo $noarray[$i];
        echo"<br/>";       
    }

通过这种方式,您可以在索引$i 处指定以添加值$i。您可以根据需要更改此设置。

【讨论】:

    【解决方案2】:

    您正在尝试访问相对于实际设置时刻提前的数组键。
    对当前键的正确访问应如下所示:

    ...
    $noarray[] = $i;
    echo $noarray[$i - 1];
    

    或者就像之前的答案中提到的那样:

    ...
    $noarray[$i] = $i;
    echo $noarray[$i];
    

    【讨论】:

      【解决方案3】:

      试试这个:

      for ( $i = 0; $i <= 10; $i++ ){
          $noarray[] = $i;
          $noarray[0] = 0;
          $noarray[1] = 1;
      }
      

      【讨论】:

        猜你喜欢
        • 2023-04-11
        • 1970-01-01
        • 2015-05-11
        • 2015-04-19
        • 2014-09-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多