如何使用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/>"; 
}

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.

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];

Try this:

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