2016-02-07 2 views
-2

Я пытаюсь написать свой код под кодом foreach в PHP. Я только начал с PHP, так что все еще учился.Как использовать foreach в PHP?

$myarray = array ("Hello World", "Hello Tree", "Hello, Proc!"); 
for($i = 0; $i < count($myarray); $i++) { 
    $myarray[$i] .= " ($i)"; 
} 

Как это сделать?

+7

Вы посмотрели руководство по функции? http://php.net/manual/en/control-structures.foreach.php Возможно, что-то особенное оттуда у вас проблемы? – chris85

+0

Возможный дубликат [Как найти индекс foreach] (http://stackoverflow.com/questions/141108/how-to-find-the-foreach-index) – Sean

ответ

4
$myarray = array ("Hello World", "Hello Tree", "Hello, Proc!"); 
foreach($myarray as $key => &$item) { 
    $item .= " ($key)"; 
} 

&$item делает $ пункт указатель вместо копию элемента массива. Таким образом, любые изменения, внесенные вами в $ item, будут отражены в оригинале. $key эквивалентен счетчику указателей массива $i. См. Ссылку foreach для получения дополнительной информации.

1

Если вы замените для цикла с FOREACH контуром, это будет выглядеть следующим образом:

$myarray = array ("Hello World", "Hello Tree", "Hello, Proc!"); 
foreach ($myarray as $key => $value) { 
    $myarray[$key] .= " ($key)"; 
} 

Для получения дополнительной информации о Еогеаспе, посмотри на the official documentation.

1

Вот что вы хотите.

$myarray = array ("Hello World", "Hello Tree", "Hello, Proc!"); 
foreach($myarray as $key => $value) { 
    $myarray[$key].= " ($key)"; 
} 

Explaination:

$key эквивалентно ваш индекс массива счетчик $i и $value это значение массива $myarray. Для получения дополнительной информации вы можете увидеть this

+1

Возможно, вы захотите изменить свое значение на элемент или наоборот. Также вам нужно либо инициализировать значение как указатель, либо использовать индекс при добавлении значения. – Achshar

+0

Я думаю, что сделал опечатку. @Achshar сэр, я обновил свой ответ :). – Drudge

+0

Lol Я не сэр, сэр. – Achshar

2
$myarray = array ("Hello World", "Hello Tree", "Hello, Proc!"); 
$i = 0; 
foreach($myarray as $arrayElement) { 
    $i++; //Foreach item in the array it adds 1 to the variable i. 
    $myarray[$i] = " $i"; //it sets the element[i] to the value of i 
    echo $myarray[$i]; //it displays your array on the screen 
} 

этого длинный путь (но легко на мой взгляд), чтобы сделать это, я не рекомендую этот путь (используйте $ ключ), но вы можете использовать его, чтобы хранить все в переменной, чтобы знать, что вы делаете, пока не поймете цикл.