В чем разница между циклом for
и циклом foreach
в PHP?
Какая разница между циклами и для каждого цикла в php
Ответ 1
Foreach отлично подходит для повторения массивов с использованием ключей и значений.
Например, если у меня был массив с именем "Пользователь":
$User = array(
'name' => 'Bob',
'email' => '[email protected]',
'age' => 200
);
Я мог бы проделать это очень легко и все еще использовать ключи:
foreach ($User as $key => $value) {
echo $key.' is '.$value.'<br />';
}
Это напечатает:
name is Bob
email is [email protected]
age is 200
С помощью петель for
сложнее сохранить ключи.
Когда вы используете объектно-ориентированную практику в PHP, вы обнаружите, что почти полностью используете foreach
, с циклами for
только для численных или списков. foreach
также запрещает вам использовать count($array)
, чтобы найти общее количество элементов в массиве.
Ответ 2
foreach
предназначен для итерации по элементам массива или объекта.
for
предназначен для выполнения чего-то... чего-либо..., который имеет определенные условия запуска, условия остановки и инструкции итерации.
Итак, for
можно использовать для гораздо более широкого круга вещей. Фактически, без третьего выражения - без инструкций итерации - a for
становится while
.
Примеры:
// Typical use of foreach
// It strength is iterating over arrays & objects
$people = array("Tom", "Dick", "Hairy");
foreach ($people as $person) {
echo "$person <br/>"; }
Теперь вы можете сделать то же самое с for
, но зачем беспокоиться? Вместо этого for
можно использовать для совершенно разных вещей:
// Prints random names from array until Hairy is picked
for ($people = array("Tom", "Dick", "Hairy"); // initial condition
$people[0] != "Hairy"; // stop condition
shuffle($people) // iteration instructions
) {
echo "$people[0] <br/>";
}
Начальное условие выполняется до цикла for
один раз, независимо от того, что. Если условие остановки оценивается до false
, цикл будет немедленно остановлен. Инструкции по изменению выполняются в конце каждого цикла. Обратите внимание, что инструкции по изменению не должны быть приращениями.
Вот пример поворота цикла for
в цикле while
, оставив инструкции итерации.
// Does the loop a random number of times.
// No thired expression
for ($rand = function() {$array = array(true, true, true, true, false);
shuffle($array);
return $array;
};
current($rand());
// empty third expression
) {
echo "I bring nothing to the table.<br/>";
}
Ответ 3
Это должно быть довольно просто
foreach
абстрагирует часть сложности и обычно проще. Я использую это, когда мне не нужно знать числовой индекс массива, или $key => $value
не предоставит мне его.
for
- это более старый стиль C, в котором вы должны сначала выполнить count()
, чтобы вы знали, сколько итераций требуется циклу. Это полезно, когда вам нужно знать индекс, или рассчитывать назад или проходить в разных группах.
Ответ 4
Цикл "for" дает вам увеличивающееся число (наиболее часто используемое), которое вы можете использовать любым способом.
"foreach" - это специальная конструкция, предназначенная для поиска последовательных элементов массива.
В качестве примера вы можете использовать цикл "для" для создания чего-то, что делает то, что делает "foreach". Но foreach делает это с менее требуемым кодом.
Ответ 5
Foreach - это в основном ярлык для выполнения следующих
//Foreach method
foreach ($myArray as $myVar)
{
}
//Normal for equivalent
for ($i = 0; $i < $limit; $i++)
{
$myVar = $myArray[$i];
}
Но есть и другие проблемы, прочитать эту статью об этом
Ответ 6
foreach
используется для повторения массивов и ничего другого. for
- это контур с контуром общего назначения
Ответ 7
Лучший и простой ответ: Разница между Foreach и For Loop: -
1. Foreach Loop:- Details are following.
a) Foreach loop used when you have an array, without array it not worked.
b) Loop working at the end of array count. For example an array have 5 value
then loop run 5 times.
c) Syntax is following.
$array = array("Surinder","Rahul","Manoj","Bharti","Rana","Manish");
Foreach($array as $name ){
echo "Employe Name is ".$name.".";
}
This will print as following.
Employe Name is Surinder.
Employe Name is Rahul.
Employe Name is Manoj.
Employe Name is Bharti.
Employe Name is Rana.
Employe Name is Manish.
2. For Loop:- Details are following.
a) For loop used according to condition.
b) Loop working at the end of given condition.
c) Syntax is following.
$array = array("Surinder","Rahul","Manoj","Bharti","Rana","Manish");
For($i=0;$i<6;$i++){
echo "Employe Name is ".$array[$i].";
}
At the place of 6,You can used count array function.
This will print as following.
Employe Name is Surinder.
Employe Name is Rahul.
Employe Name is Manoj.
Employe Name is Bharti.
Employe Name is Rana.
Employe Name is Manish.
These are the difference between Foreach and for loop.
Для получения дополнительной информации перейдите туда: http://ibmphp.blogspot.com/2012/10/difference-between-foreach-and-for-loop.html
Ответ 8
для цикла используется, если мы уже знаем, сколько раз нужно запускать script, но в случае цикла foreach у нас нет Идея о количестве итераций.
Кроме того, цикл foreach используется для итерации только массивов и объектов.
Вы можете ссылаться на ссылку, чтобы лучше понять разницу между для и foreach -
https://www.quora.com/What-is-the-difference-between-for-and-foreach-in-php