在PHP開發中,foreach語句是一個非常強大的工具。它具有循環遍歷數組、對象的特性,可以快速地進行數據操作,并且非常易于使用。在foreach語句中,有一個重要的操作——對變量賦值。本文就來詳細介紹一下foreach 賦值在PHP中的使用方法。
在foreach語句中,我們可以使用list()或變量賦值的方式將數組中每個元素的值賦給變量。下面的代碼演示了如何使用foreach語句中的變量賦值方式:
$fruits = array("apple", "banana", "orange", "pear"); foreach($fruits as $fruit) { echo "$fruit
"; }
上面的代碼會遍歷數組$fruits中的元素,將每個值賦給變量$fruit,并且在每一次循環中打印出$fruit的值。運行結果如下:
apple banana orange pear
我們還可以使用foreach語句中的list()函數對數組元素進行解析并賦值。下面的代碼演示了list函數的基本用法:
$city = array('New York', 'San Francisco', 'Seattle'); $state = array('New York State', 'California', 'Washington'); foreach($city as $index =>$value) { list($cityname, $citystring) = array($value, $state[$index]); echo "The city {$cityname} is located in {$citystring}."; }
上面的代碼會遍歷數組 $city 和 $state 中的元素,將每個值賦給變量 $value 和 $index,并且使用 list() 函數分解 $value 和 $state 中的元素,賦值給 $cityname 和 $citystring。運行結果如下:
The city New York is located in New York State. The city San Francisco is located in California. The city Seattle is located in Washington.原理解析:
實際上,在 PHP 中,在進行 foreach 循環時,都是對源數組的復制進行的操作,也就是說,foreach 循環時不會修改源數組中元素的值。
foreach 語句也可以嵌套使用,實現對二維數組或者多維數組的操作。 下面給出一個二維數組的例子:
$arr = array( array('id' =>1, 'name' =>'張三', 'age' =>20), array('id' =>2, 'name' =>'李四', 'age' =>22), array('id' =>3, 'name' =>'王五', 'age' =>19) ); foreach ($arr as $v) { foreach ($v as $k =>$value) { echo "{$k} =>{$value};
"; // $k 為下標,$v 為值 } echo "----------
"; }
上面的代碼遍歷二維數組,通過 foreach 嵌套獲得到數組中每一個元素的值,并打印出它的鍵名和鍵值。運行結果如下:
id =>1; name =>張三; age =>20; ---------- id =>2; name =>李四; age =>22; ---------- id =>3; name =>王五; age =>19; ----------總結:
foreach循環可以很方便的遍歷數組中的元素,使用賦值變量或者list()函數,可以快速的訪問數組元素的值。對于二維或者多維數組,我們可以通過對foreach語句嵌套的方式獲得每一個元素的值進行操作。