简体   繁体   中英

cannot access the array using php

i have created an array using php something like this

$array1=array()

for($i=0;$i<5;$i++)
{
  $array1[$i]=somevalue;
  for($y=0;$y<$i;$y++)
  {
    print_r($array1[$y]);
  }
}

it does not print the value.

If nothing else, you should move the inner loop out:

for($i=0;$i<5;$i++)
{
    $array1[$i]=somevalue;
}

for($y=0;$y<5;$y++)
{
    print_r($array1[$y]);
}

I just ran this code, the only change i made was putting a semicolon in the first line ;)

<?php

$array1=array();

for($i=0;$i<5;$i++)
{
  $array1[$i]="abcd";
  for($y=0;$y<$i;$y++)
  {
    print_r($array1[$y]);
  }
}

?>

Output: abcdabcdabcdabcdabcdabcdabcdabcdabcdabcd

Based on @Jon's answer:

$array1 = array();
for($i=0;$i<5;$i++)
{
    $array1[$i]=somevalue;
}

$count = count($array1);

for($y=0;$y<$count;$y++)
{
    print_r($array1[$y]);
}

You can put the count function in the for loop, but that's bad practice. Also, if you are trying to get the value of EVERY value in the array, try a foreach instead.

$array1 = array();
for($i=0;$i<5;$i++)
{
    $array1[$i]=somevalue;
}
foreach($array1 as $value)
{
  print_r($value);
}

Because of the way how print_r works, it is silly to put it inside a loop, this will give you actual output and is error free :).

$array1=array();

for($i=0;$i<5;$i++)
{
  $array1[$i]='somevalue';
}
print_r($array1);
for($y=0;$y<$i;$y++)

您的显示循环未显示您刚刚添加为$ array [$ i]的条目,因为在$ y 小于 $ i时循环$ y

for($y=0;$y<=$i;$y++)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM