dtcu5885
dtcu5885
2016-10-18 16:24
浏览 33
已采纳

如何使用for循环和条件将值插入到php数组中

I wanted to insert values into a php array using conditions like the way below but it is not happening.

Please let me know if there are any other ways to do that since I am getting "undefined offset" error.

$noarray = array();

for ($i=1; $i<=10 ;$i++)
{
    $noarray[]=$i;
    echo $noarray[$i] . "<br/>"; 
}
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • drtoclr046994545
    drtoclr046994545 2016-10-18 16:31
    已采纳

    You are adding $i as a value in the $noarray array.

    So is you take step by step, when $i == 1 (first step in for) you will add in the first element of array value of the $i (1). Because in php index starts from 0 you will have an array like this: [0 => 1] with only one element. At this step you try to access the array by index $i = 1, but you have only at index 0 value.

    I don't know exactly what you try to do, but you mess with index and value.

    Probably you want something like this:

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

    This way you specify at index $i to add value $i. You can change this if you want.

    点赞 评论
  • dqyy38265
    dqyy38265 2016-10-18 16:36

    You are trying to access the array key with advance relative to the moment it was actually set.
    The correct access to the current key should be as follows:

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

    OR like it was mentioned in the previous answer:

    ...
    $noarray[$i] = $i;
    echo $noarray[$i];
    
    点赞 评论
  • dragon321723
    dragon321723 2016-10-18 16:42

    Try this:

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

相关推荐