HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-03-10
1 <p>В этой статье расскажем о том, как осуществляется перебор элементов массива в языке программирования PHP. И покажем этот процесс на практических примерах.</p>
1 <p>В этой статье расскажем о том, как осуществляется перебор элементов массива в языке программирования PHP. И покажем этот процесс на практических примерах.</p>
2 <p>Для последовательного перебора всех элементов массива в PHP существует цикл<strong>foreach</strong>. Он подходит для работы и с массивами, и с объектами. При этом следует учесть, что применение его с переменными прочих типов либо с переменными, которые неинициализированы, приведёт к появлению ошибки. Но давайте не будем забегать вперёд и рассмотрим всё по порядку.</p>
2 <p>Для последовательного перебора всех элементов массива в PHP существует цикл<strong>foreach</strong>. Он подходит для работы и с массивами, и с объектами. При этом следует учесть, что применение его с переменными прочих типов либо с переменными, которые неинициализированы, приведёт к появлению ошибки. Но давайте не будем забегать вперёд и рассмотрим всё по порядку.</p>
3 <p>Итак, для цикла foreach существуют<strong>2 два вида синтаксиса</strong>. Первый из них реализуется так:</p>
3 <p>Итак, для цикла foreach существуют<strong>2 два вида синтаксиса</strong>. Первый из них реализуется так:</p>
4 foreach($arrayas$value) { инструкции }<p>В результате работы кода цикл станет перебирать нужный нам массив<strong>$array</strong>(вместо $array можно подставить название нашего массива). При этом на каждой итерации значение, которое имеет текущий элемент, будет присваиваться переменной<strong>$value</strong>(здесь также можете указать нужно вам имя переменной).</p>
4 foreach($arrayas$value) { инструкции }<p>В результате работы кода цикл станет перебирать нужный нам массив<strong>$array</strong>(вместо $array можно подставить название нашего массива). При этом на каждой итерации значение, которое имеет текущий элемент, будет присваиваться переменной<strong>$value</strong>(здесь также можете указать нужно вам имя переменной).</p>
5 <p>Сам по себе оператор цикла foreach является удобным в использовании, т. к. он, по сути, самостоятельно проходит по массиву и читает все его элементы до того момента, пока не достигнет последнего. Оператор удобен тем, что позволяет нам не держать в голове факт, что индексация массива начинается с нуля. К тому же, за пределы массивов он никогда не выходит, в результате чего конструкция цикла помогает избежать наиболее распространенных ошибок.</p>
5 <p>Сам по себе оператор цикла foreach является удобным в использовании, т. к. он, по сути, самостоятельно проходит по массиву и читает все его элементы до того момента, пока не достигнет последнего. Оператор удобен тем, что позволяет нам не держать в голове факт, что индексация массива начинается с нуля. К тому же, за пределы массивов он никогда не выходит, в результате чего конструкция цикла помогает избежать наиболее распространенных ошибок.</p>
6 <p>Рассмотрим работу оператора на примере перебора массива:</p>
6 <p>Рассмотрим работу оператора на примере перебора массива:</p>
7 &lt;?php $my_arr= array(1, 2, 3, 4, 5); foreach($my_arras$value) { echo$value, " "; } ?&gt;<p>У оператора foreach есть и другой вид синтаксиса, давайте на него посмотрим:</p>
7 &lt;?php $my_arr= array(1, 2, 3, 4, 5); foreach($my_arras$value) { echo$value, " "; } ?&gt;<p>У оператора foreach есть и другой вид синтаксиса, давайте на него посмотрим:</p>
8 foreach($arrayas$key=&gt; $value) { инструкции }<p>Что особенного в применении этой формы? Дело в том, что на каждой итерации происходит<strong>дополнительное присваивание значения текущего ключа переменной $key</strong>(вы можете указать иное имя переменной). Вот, как это работает:</p>
8 foreach($arrayas$key=&gt; $value) { инструкции }<p>Что особенного в применении этой формы? Дело в том, что на каждой итерации происходит<strong>дополнительное присваивание значения текущего ключа переменной $key</strong>(вы можете указать иное имя переменной). Вот, как это работает:</p>
9 &lt;?php $my_arr= array(1, 2, 3, 4, 5); foreach($my_arras$key=&gt; $value) { echo"[$key] =&gt; ", $value, "&lt;br&gt;"; } ?&gt;<p>Если хотите менять элементы вашего массива внутри цикла напрямую, надо применять ссылку. В таком случае значение присвоится по ссылке.</p>
9 &lt;?php $my_arr= array(1, 2, 3, 4, 5); foreach($my_arras$key=&gt; $value) { echo"[$key] =&gt; ", $value, "&lt;br&gt;"; } ?&gt;<p>Если хотите менять элементы вашего массива внутри цикла напрямую, надо применять ссылку. В таком случае значение присвоится по ссылке.</p>
10 &lt;?php $my_arr= array(1, 2, 3); foreach($my_arras&amp;$value) { $value*= 2; echo$value; } /* это необходимо, чтобы следующие записи в переменную $value не меняли последний элемент вашего массива */ unset($value); // разорвать ссылку на последний элемент ?&gt;<p>На что тут важно обратить внимание? Дело в том, что ссылка на последний элемент вашего массива остаётся даже после завершения работы оператором<strong>foreach</strong>. В результате мы рекомендуем удалять её посредством функции unset(), как это реализовано в вышеописанном примере. Теперь посмотрим, что произойдёт, если мы не будем применять unset():</p>
10 &lt;?php $my_arr= array(1, 2, 3); foreach($my_arras&amp;$value) { $value*= 2; echo$value; } /* это необходимо, чтобы следующие записи в переменную $value не меняли последний элемент вашего массива */ unset($value); // разорвать ссылку на последний элемент ?&gt;<p>На что тут важно обратить внимание? Дело в том, что ссылка на последний элемент вашего массива остаётся даже после завершения работы оператором<strong>foreach</strong>. В результате мы рекомендуем удалять её посредством функции unset(), как это реализовано в вышеописанном примере. Теперь посмотрим, что произойдёт, если мы не будем применять unset():</p>
11 &lt;?php $numbers= array(1,2,3,4,5); foreach($numbersas&amp;$num) { echo$num, " "; } // Присвоим новое значение переменной $num $num= '100'; echo'&lt;br&gt;'; foreach($numbersas&amp;$num) { echo$num, " "; } ?&gt;<p>Также надо отметить очередной нюанс: ссылку можно применять только в том случае, когда перебираемый нами массив является переменной. К примеру, код ниже работать не будет:</p>
11 &lt;?php $numbers= array(1,2,3,4,5); foreach($numbersas&amp;$num) { echo$num, " "; } // Присвоим новое значение переменной $num $num= '100'; echo'&lt;br&gt;'; foreach($numbersas&amp;$num) { echo$num, " "; } ?&gt;<p>Также надо отметить очередной нюанс: ссылку можно применять только в том случае, когда перебираемый нами массив является переменной. К примеру, код ниже работать не будет:</p>
12 &lt;?php foreach(array(1, 2, 3) as&amp;$value) { $value*= 2; } ?&gt;<p>В целом, как видите, ничего сложного в переборе массива на PHP нет. Если же вы хотите получить продвинутые навыки в освоении этого языка, ждём вас на наших курсах!</p>
12 &lt;?php foreach(array(1, 2, 3) as&amp;$value) { $value*= 2; } ?&gt;<p>В целом, как видите, ничего сложного в переборе массива на PHP нет. Если же вы хотите получить продвинутые навыки в освоении этого языка, ждём вас на наших курсах!</p>
13 <p><a>Источник</a></p>
13 <p><a>Источник</a></p>
14  
14