当前位置:网站首页>Summary of three methods of PHP looping through arrays list (), each (), and while
Summary of three methods of PHP looping through arrays list (), each (), and while
2022-07-03 16:35:00 【Leaf drop traceless 123】
while (list($key, $value) = each($list)) {} The performance of writing is higher than foreach,
turn :http://www.jb51.net/article/57560.htm
①each() function
each() The function needs to pass an array as an argument , Returns the key of the current element in the array / It's worth it , And move the array pointer backward to the next element . key / Value pairs are returned with 4 A mixed array of associations and indexes of elements , The key names are 0、1、key and value. Where key name 0 and key The corresponding value is the same , Is the key name of the array element ,1 and value Contains the values of array elements . If the internal pointer goes past the end of the array , be each() return FALSE.each() The function is used as follows :
Copy code The code is as follows :
< ?php
$contact = array("ID" => 1," full name " => " Gao Mou "," company " => "A company "," Address " => " The Beijing municipal ",);
$id = each($contact); // Returns an array of $contact The key of the first element in / It's worth it , It's with 4 Array of elements
print_r($id); // The output array $id:Array([1]=>1,[value]=>1,[0]=>ID,[key]=>ID)
$name = each($contact); // Returns an array of $contact The key of the second element in / It's worth it , It's with 4 Array of elements
print_r($name); // Output Array([1]=> Gao Mou ,[value]=> Gao Mou ,[0]=> full name ,[key]=> full name )
$company = each($contact);
print_r($company); // Output Array([1]=>A company ,[value]=>A company ,[0]=> company ,[key]=> company )
$address = each($contact);
print_r($address); // Output Array([1]=> The Beijing municipal ,[value]=> The Beijing municipal ,[0]=> Address ,[key]=> Address )
$no = each($contact);
var_dump($no); // Output bool(false)
?>
②list() function
This is not really a function , It is PHP The structure of language .list() Assign values to a set of variables in one step , That is, assign the values in the array to some variables .list() Can only be used for arrays with numeric indexes and assume that the array index is from 0 Start . The syntax format is as follows :
Copy code The code is as follows :
list(mixed varname,mixed…) = array_expression
list() Statements are very different from other functions in use , Instead of receiving an array directly as a parameter . But through “=” Operator in the way of assignment , The value of each element in the array , Corresponding assignment list() Every parameter in the function .list() Function converts each parameter in it into a variable that can be used directly in the script . Use as follows :
Copy code The code is as follows :
< ?php
$info = array('coffee','brown','caffeine');
list($drink,$color,$power) = $info;
list($drink,,$power) = $info; // The value of the variable is the first and third value in the array
list( , ,$power) = $info; // The variable value is the value of the third element in the array
?>
Learn from the above example list() After the usage of the function , take each() Functions and list() Functions are used together . The code is as follows :
Copy code The code is as follows :
< ?php
$contact = array("ID" => 1," full name " => " Gao Mou "," company " => "A company "," Address " => " The Beijing municipal ",);
list($key,$value) = each($contact);
echo "$key => $value"; // Output variables $key and $value, In the middle “=>” Division
?>
③while loop Traversal array
Previously introduced each() and list() Use of statements , It's not difficult to understand if you use while Loop through the array . The syntax format used is as follows :
Copy code The code is as follows :
while(list($key,$value) = each(array_expression)){
The loop body
}
This union format traverses a given array_expression Array . stay while() Statement in each loop ,each() Statement sets the key of the current array element , Assign to list() The first parameter variable of the function $key. And the value in the current array element , Assign to list() The second parameter variable in the function $value, also each() After the statement is executed, the pointer inside the array will be moved back one step , So next time while() Statement loop , You will get the key of the next element in the array / It's worth it . Until the end of the array each() Statement returns FALSE,while() Statement stops the loop , End the traversal of the array .
Copy code The code is as follows :
< ?php
$contact = array(
"ID" => 1,
" full name " => " Gao Mou ",
" company " => "A company ",
" Address " => " The Beijing municipal ",
" Telephone " => "(010)98765432",
"EMAIL" => "[email protected]",
);
// With HTML List the information of each element in the array
echo '<dl> A contact information :';
while(list($key,$value) = each($contact)){
echo "<dd>$key : $value</dd>";
}
echo '</dl>';
?>
It can also be yo on Nested traversal of multidimensional arrays in the same way . although while The result of traversing the array and freach Same statement , But these two methods are different . In the use of while Statement after traversing the array ,each() Statement has pointed the internal pointer of the passed in array parameter to the end of the array . When used again while Statement when traversing the same array , The array pointer is already at the end of the array ,each() Statement returns directly FALSE,while Statement will not be executed in a loop . Only in while Call before execution of statement reset() function , Reassign the array pointer to the first element . and foreach Statement will automatically reset the pointer position of the array , When foreach At the beginning of execution , The pointer inside the array will automatically point to the first cell . This means that there is no need to foreach Loop prior call reset() function .
边栏推荐
- 《天天数学》连载56:二月二十五日
- NFT新的契机,多媒体NFT聚合平台OKALEIDO即将上线
- Aike AI frontier promotion (7.3)
- 【LeetCode】94. Middle order traversal of binary tree
- Getting started with Message Oriented Middleware
- Learn from me about the enterprise flutter project: simplified framework demo reference
- 8个酷炫可视化图表,快速写出老板爱看的可视化分析报告
- Mongodb installation and basic operation
- 深入理解 SQL 中的 Grouping Sets 语句
- Qt插件之自定义插件构建和使用
猜你喜欢
Getting started with Message Oriented Middleware
Multithread 02 thread join
[combinatorics] non descending path problem (number of non descending paths with constraints)
Mb10m-asemi rectifier bridge mb10m
Deep understanding of grouping sets statements in SQL
First knowledge of database
斑马识别成狗,AI犯错的原因被斯坦福找到了
Mixlab编辑团队招募队友啦~~
2022 love analysis · panoramic report of digital manufacturers of state-owned enterprises
Myopia: take off or match glasses? These problems must be understood clearly first
随机推荐
Extraction of the same pointcut
Central South University | through exploration and understanding: find interpretable features with deep reinforcement learning
远程办公之大家一同实现合作编辑资料和开发文档 | 社区征文
Idea configuration plug-in
IDEA-配置插件
[solved] access denied for user 'root' @ 'localhost' (using password: yes)
为抵制 7-Zip,列出 “三宗罪” ?网友:“第3个才是重点吧?”
【剑指 Offer】58 - II. 左旋转字符串
PHP二级域名session共享方案
A survey of state of the art on visual slam
【LeetCode】94. Middle order traversal of binary tree
Unreal_ Datatable implements ID self increment and sets rowname
Slam learning notes - build a complete gazebo multi machine simulation slam from scratch (II)
Add color to the interface automation test framework and realize the enterprise wechat test report
Data driving of appium framework for mobile terminal automated testing
One article takes you to understand machine learning
利用MySQL中的乐观锁和悲观锁实现分布式锁
Asemi rectifier bridge umb10f parameters, umb10f specifications, umb10f package
14 topics for performance interviews between superiors and subordinates (4)
TCP擁塞控制詳解 | 3. 設計空間