Возможно, мне просто сложно понять, как PHP обрабатывает массивы.
Я пытаюсь распечатать массив, используя цикл foreach. Все, что я могу понять, это слово «Массив».
<?php $someArray[]=array('1','2','3','4','5','6','7'); // size 7 foreach($someArray as $value){ echo $value; ?> <br /> <?php } ?>
Это выдает следующее:
Array
Мне трудно понять, почему это так. Если я определю массив вверх, как указано выше, он напечатает «Массив». Мне кажется, что мне приходится вручную определять все … что означает, что я должен делать что-то неправильно.
Это работает:
<?php $someArray[0] = '1'; $someArray[1] = '2'; $someArray[2] = '3'; $someArray[3] = '4'; $someArray[4] = '5'; $someArray[5] = '6'; $someArray[6] = '7'; for($i=0; $i<7; $i++){ echo $someArray[$i]."<br />"; } ?>
Почему не будет работать foreach?
вот ссылка, чтобы увидеть его в действии >> http://phpclass.hylianux.com/test.php
Вы не объявили массив правильно.
Вы должны удалить квадратные скобки: []
.
<?php $someArray=array('1','2','3','4','5','6','7'); // size 7 foreach($someArray as $value){ echo $value; ?> <br /> <?php } ?>
Пытаться:
<?php $someArray = array('1','2','3','4','5','6','7'); // size 7 foreach($someArray as $value){ echo $value . "<br />\n"; } ?>
Или:
<?php $someArray = array( 0 => '1', 'a' => '2', 2 => '3' ); foreach($someArray as $key => $val){ echo "Key: $key, Value: $val<br/>\n"; } ?>
на самом деле, вы добавляете массив в другой массив.
$someArray[]=array('1','2','3','4','5','6','7');
правильный путь был бы
$someArray=array('1','2','3','4','5','6','7');