В чем разница между циклом for
и циклом foreach
на PHP?Какая разница между циклами и для каждого цикла в php
ответ
Это должно быть довольно просто
foreach
абстрагирует некоторые сложности и, как правило, легче. Я использую это, когда мне не нужно знать числовой индекс массива, или $key => $value
не предоставит мне его.
for
- это более старый стиль C, где вы должны сначала выполнить команду count()
, чтобы вы знали, сколько итераций требует цикл. Это полезно, когда вам нужно знать индекс или рассчитывать назад или проходить в разных группах.
'expr2' в' for' может быть тем, что вы считаете конечным условием. Это не должно быть 'count()'. Например, с помощью Iterator вы можете использовать 'for ($ it-> rewind(); $ it-> valid(); $ it-> next()) {/ * ... * /}', но это может также является обратным вызовом, db-запросом, независимо. – Gordon
@ Gordon: Я собирался сказать что-то подобное. Кажется, все здесь думают, что циклы 'for' могут использоваться только с числами ... –
@Felix @Gordon Ну я попытался сделать его простым примером для перемещения массива.Но спасибо за ваш вклад. – alex
Foreach в основном ярлык для выполнения следующей
//Foreach method
foreach ($myArray as $myVar)
{
}
//Normal for equivalent
for ($i = 0; $i < $limit; $i++)
{
$myVar = $myArray[$i];
}
Но есть и другие проблемы тоже read this статья об этом
Foreach отлично подходит для переборе массивов, которые используют ключи и значения.
Например, если бы я был массив с именем «User»:
$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)
, чтобы найти общее количество элементов в массиве.
foreach
используется для итерации массивов и ничего больше.
for
является общим назначение на основе контр-петлю
С PHP 5 можно также перебирать объекты. – Gordon
A «для» петля дает номер приращения (в его наиболее общем пользовании), который можно использовать как угодно.
«foreach» - это специальная конструкция, предназначенная для просмотра последовательных элементов массива.
В качестве примера вы можете использовать цикл «для» для создания чего-то, что делает то, что делает «foreach». Но foreach делает это с менее требуемым кодом.
'for' только дает вам увеличивающееся число, если вы его определили. Используемые выражения в 'for' являются произвольными. – Gordon
foreach
специально предназначен для итерации элементов массива или объекта.
for
предназначен для выполнения чего-то ... чего-либо ..., который имеет определенные условия запуска, условия остановки и инструкции итерации.
Таким образом, for
может использоваться для гораздо более широкого спектра вещей. Фактически, без третьего выражения - без инструкций итерации - for
становится while
.
Примеры:
// Typical use of foreach
// It's 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/>";
}
Лучше и простой ответ: разница между Foreach и For Loop: -
1. Foreach Loop:- Details are following.
a) Foreach loop used when you have an array, without array it's 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
для петли используется, если мы уже знаем, сколько раз должен запускаться сценарий но в случае foreach цикл, мы не имеем понятия о количестве итераций.
Также Еогеаспа цикла используется для итерации только массивы и объектов.
Вы можете передать ссылку для лучшего понимания разницы между для и Еогеаспа цикла -
https://www.quora.com/What-is-the-difference-between-for-and-foreach-in-php
- 1. Разница между циклами и для каждого цикла при наборе массива
- 2. Какая разница между циклами while и цикла при использовании autorelease
- 3. Разница между циклами
- 4. В чем разница между бесконечными циклами и циклами?
- 5. Какая разница между (и [?
- 6. какая разница между @ и @ :?
- 7. В чем разница между двумя циклами?
- 8. В чем разница между вложенными циклами и рекурсивными функциями?
- 9. Какая разница между пробкой цикла цикла ходьбы в графике
- 10. Ruby: В чем разница между циклами for и каждым циклом?
- 11. Есть ли разница между циклами в java и c?
- 12. В чем разница между двумя вложенными циклами в javascript?
- 13. jQuery - повторение каждого() для каждого элемента(), но сброс между циклами
- 14. В чем разница между циклами while и while в рубине?
- 15. Есть ли разница между встроенными и вложенными циклами в JavaScript?
- 16. PHP для каждого цикла
- 17. Какая разница между списком() и []
- 18. Какая разница между разделителем $$ и //
- 19. Разница между циклами for и while при вложении в список()
- 20. Какая разница между @load() и $ {}
- 21. Для каждого цикла в php
- 22. В чем разница между этими двумя циклами?
- 23. Разница между «для индекса» и традиционным «для цикла»
- 24. Какая разница между `com.example. **` и `com.example. ** {*;}`?
- 25. PHP:? и & в URL-адресах - какая разница?
- 26. JADE: разница между ними для каждого и
- 27. разница между использованием: присваивание и для цикла
- 28. какая разница между NULL, пустой и пустой в php?
- 29. Какая разница между pclose и fclose в php
- 30. какая разница между {} и [] в JavaScript
* (ссылка) * http://de2.php.net/manual/en /control-structures.for.php и http://de2.php.net/manual/en/control-structures.foreach.php – Gordon
Предлагаю вам посмотреть некоторую документацию по обоим типам циклов. Есть некоторые принципиальные отличия. Или у вас есть конкретная проблема? Если да, уточните в своем вопросе. –