w3resource

PHP foreach Statement

Description

PHP 4 introduced "foreach" construct, it works only on arrays. The foreach looping is the best way to access each key/value pair from an array.

Syntax:

foreach (array_expr as $value)
{
statement
}

array_expr is an array. In every loop the value of the current element of the array is assigned to $value and the internal array pointer is advanced by one and the process continue to reach the last array element.

foreach (array_expr as $key => $value)

{

statement

}

array_expr is an array. In every loop the current element's key is assigned to $key and the internal array pointer is advanced by one and the process continue to reach the last array element.

Example -1 :

In the following example, we define an array with five elements and later we use foreach to access array element's value.

<?php
$fruits = array ("Orange", "Apple", "Banana",  "Cherry", " Mango");
foreach ( $fruits as $value )
{
echo  "$value<br />";
} 
?> 

Output:

Orange
Apple
Banana
Cherry
Mango 

View the example in the browser

Example -2:

In the following example, both the keys and values of an array have accessed (see the second syntax of the foreach statement).

<?php
$personal_details=array("name" => "Rajesh Rao", "occupation" => "Engineer", age => 39, "country" => "India");
foreach ( $personal_details as $key => $value )
{
echo "$key=$value<br />";
}
?>

Output:

name=Rajesh Rao
occupation=Engineer
age=39
country=India

View the example in the browser

Previous: for statement
Next: break statement



PHP: Tips of the Day

PHP: Convert one date format into another in PHP

The second parameter to date() needs to be a proper timestamp (seconds since January 1, 1970). You are passing a string, which date() can't recognize.

You can use strtotime() to convert a date string into a timestamp. However, even strtotime() doesn't recognize the y-m-d-h-i-s format.

PHP 5.3 and up

Use DateTime::createFromFormat. It allows you to specify an exact mask - using the date() syntax - to parse incoming string dates with.

PHP 5.2 and lower

You will have to parse the elements (year, month, day, hour, minute, second) manually using substr() and hand the results to mktime() that will build you a timestamp.

But that's a lot of work! I recommend using a different format that strftime() can understand. strftime() understands any date input short of the next time joe will slip on the ice. for example, this works:

$old_date = date('l, F d y h:i:s');         // returns Saturday, January 30 10 02:06:34
$old_date_timestamp = strtotime($old_date);
$new_date = date('Y-m-d H:i:s', $old_date_timestamp);

Ref : https://bit.ly/33QzKPG