what are the difference between for loop & for each loop in php?
It should be pretty simple
foreach sort of asbtracts away some of the complexity and is usually easier. I use this whenever I don't need to know the numeral index of the array or $key => $value won't provide me with it.
for is the older C style where you must first perform a count() so you know how many iterations the loop requires. It is useful when you need to know the index, or to count backwards or step through in different groups.
Foreach is great for iterating through arrays that use keys and values.
For example, if I had an array called 'User':
$User = array(
'name' => 'Bob',
'email' => '[email protected]',
'age' => 200
);
I could iterate through that very easily and still make use of the keys:
foreach ($User as $key => $value) {
echo $key.' is '.$value.'<br />';
}
This would print out:
name is Bob
email is [email protected]
age is 200
With for loops, it's more difficult to retain the use of the keys.
When you're using object-oriented practice in PHP, you'll find that you'll be using foreach almost entirely, with for loops only for numerical or list-based things. foreach also prevents you from having to use count($array) to find the total number of elements in the array.
foreach being used to iterate arrays and nothing else.
for is the general purpose counter-based loop
A "for" loop gives you an incrementing number (in its most common use) which you can use any way you like.
"foreach" is a special construct made for looking at successive members of an array.
As an example, you can use a "for" loop to create something that does what "foreach" does. But foreach does that with less required code.