Five traversal methods: 1. Use "for($i=0;$i
$v)" ;3. Use "while(list($k,$v)=each(array))"; 4. Use "array_map(callback function, array)", etc.
The operating environment of this tutorial: windows7 system, PHP7.1 version, DELL G3 computer
php Five methods of traversing arrays in
Method 1: Use for loop statement
The for loop will pre-define the variable that controls the number of loops in In the for statement, the for loop statement can perform loop operations according to the known number of loops, which is suitable for situations where the number of times the script needs to be run is clearly known.
The syntax format of the for loop is as follows:
for (初始化语句; 循环条件; 变量更新--自增或自减) { 语句块; }
Let’s take a look at the code example below:
<?php header("Content-type:text/html;charset=utf-8"); $array= array(2,"数学","梨子",3.14,"榴莲",12); for ($i=0; $i < count($array); $i++) { echo $array[$i] . "<br/>"; } ?>
Output result:
Method 2: Use foreach loop statement
foreach is a statement specially designed for traversing arrays. It is a commonly used method when traversing arrays. It provides This is a great convenience; after PHP5, you can also traverse objects (foreach can only be applied to arrays and objects).
The foreach statement traverses the array regardless of the array subscript, and can be used for discontinuous index arrays and associative arrays with strings as subscripts.
Let’s take a closer look at the code example:
<?php header("Content-type:text/html;charset=utf-8"); $array= array("香蕉","苹果","梨子","橙子","橘子","榴莲"); foreach ($array as $val){ echo "值是:" . $val ; echo "<br/>"; } echo "<br/>"; foreach ($array as $key => $value) { echo "键名为:".$key.",键值为:".$value . "<br/>"; } ?>
Output result:
Traverse the given $array array, in each loop, the value of the current array will be assigned to $value, and the key name will be assigned to $key.
Method 3: Use while loop each() list()
each() function returns the current key value in the array and moves the array pointer forward move. After each() is executed, the array pointer will stay at the next element in the array or at the last element when the end of the array is reached.
The list() function is used to assign values to a set of variables in one operation.
while loop each() function list() function can traverse the array, let’s take a look at the code example below:
<?php header("Content-type:text/html;charset=utf-8"); $array= array("香蕉","苹果","梨子","橙子","橘子","榴莲"); while( list($key, $val) = each($array) ) { echo "$key => $val<br>"; } ?>
Output result:
Method 4: Use the array_map() function
Use an anonymous function to process each element in the array. Return a new array after the traversal is completed
<?php $arr = [&#39;a&#39;, &#39;b&#39;, &#39;c&#39;]; var_dump($arr); $arr = array_map(function ($item) { return $item . &#39;_i&#39;; }, $arr); var_dump($arr); ?>
You can process multiple arrays at the same time
<?php header(&#39;content-type:text/html;charset=utf-8&#39;); $arr_1 = [&#39;a&#39;, &#39;b&#39;, &#39;c&#39;]; $arr_2 = [&#39;你&#39;, &#39;好&#39;, &#39;吗&#39;, &#39;原&#39;, &#39;罪&#39;]; // $arr_n = [...]; $arr = array_map(function ($item_1, $item_2) { return $item_1 . &#39;_&#39; . $item_2 . &#39;_i&#39;; }, $arr_1, $arr_2); var_dump($arr); // [&#39;a_你_i&#39;, &#39;b_好_i&#39;, &#39;c_吗_i&#39;, &#39;_原_i&#39;, &#39;_罪_i&#39;] ?>
Method 5: Use the array_walk() function
to traverse your array in the form of pass-by-reference, with no return value and can only process one array.
<?php $arr = [&#39;a&#39;, &#39;b&#39;, &#39;c&#39;]; array_walk($arr, function (&$item) { $item = $item . &#39;_i&#39;; }); var_dump($arr); ?>
Have you noticed &$item
? Yes, there is an extra &
, which represents your formal parameters Data is received by reference. All you have to do is find a way to change this parameter.
Recommended learning: "PHP Video Tutorial"
The above is the detailed content of What are the five ways to traverse an array in php. For more information, please follow other related articles on the PHP Chinese website!