Traversing Arrays Using foreach in PHP
By: Andi, Stig and Derick Printer Friendly Format
There are a few different ways of iterating over an array. The most elegant way is the foreach() loop construct. The general syntax of this loop is
foreach($array as [$key =>] [&] $value)
...
$key is optional, and when specified, it contains the currently iterated value’s key, which can be either an integer or a string value, depending on the key’s type. Specifying & for the value is also optional, and it has to be done if you are planning to modify $value and want it to propagate to $array. In most cases, you won’t want to modify the $value when iterating over an array and will, therefore, not need to specify it.
Here’s a short example of the foreach() loop:
$players = array("John", "Barbara", "Bill", "Nancy");
print "The players are:\n";
foreach ($players as $key => $value) {
print "#$key = $value\n";
}
The output of this example is
The players are:
#0 = John
#1 = Barbara
#2 = Bill
#3 = Nancy
Here’s a more complicated example that iterates over an array of people and marks which person is considered old and which one is considered young:
$people = array(1 => array("name" => "John", "age" => 28),
.array("name" => "Barbara", "age" => 67));
foreach ($people as &$person) {
if ($person["age"] >= 35) {
$person["age group"] = "Old";
} else {
$person["age group"] = "Young";
}
}
print_r($people);
Again, this code makes use of the print_r() function. The output of the previous code is the following:
Array
(
[1] => Array
(
[name] => John
[age] => 28
[age group] => Young
)
[2] => Array
(
[name] => Barbara
[age] => 67
[age group] => Old
)
)
You can see that both the John and Barbara arrays inside the $people array were added an additional value with their respective age group.
Comment on this tutorial
- Data Science
- Android
- AJAX
- ASP.net
- C
- C++
- C#
- Cocoa
- Cloud Computing
- HTML5
- Java
- Javascript
- JSF
- JSP
- J2ME
- Java Beans
- EJB
- JDBC
- Linux
- Mac OS X
- iPhone
- MySQL
- Office 365
- Perl
- PHP
- Python
- Ruby
- VB.net
- Hibernate
- Struts
- SAP
- Trends
- Tech Reviews
- WebServices
- XML
- Certification
- Interview
categories
Subscribe to Tutorials
Related Tutorials
PHP code to import from CSV file to MySQL
PHP code to write to a CSV file from MySQL query
PHP code to write to a CSV file for Microsoft Applications
Password must include both numeric and alphabetic characters - Magento
PHP file upload prompts authentication for anonymous users
PHP file upload with IIS on windows XP/2000 etc
Error: Length parameter must be greater than 0
Multiple File Upload in PHP using IFRAME
Resume or Pause File Uploads in PHP
Exception in module wampmanager.exe at 000F15A0 in Windows 8