百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT技术 > 正文

PHP list()和each()函数使用(php中list()函数的参数)

wptr33 2025-05-08 06:53 17 浏览

array each ( array &$array )

返回 array 数组中当前指针位置的键/值对并向前移动数组指针。键值对被返回为四个单元的数组,键名为 0, 1, key 和 value。

单元 0 和 key 包含有数组单元的键名,1 和 value 包含有数据。

如果内部指针越过了数组的末端, 则 each() 返回 FALSE。

<?php
$foo = array("bob", "fred", "jussi", "jouni", "egon", "marliese");
$bar = each($foo);
print_r($bar);
?>
Array
{
[1] => bob
[value] => bob
[0] => 0
[key] => 0
}

注意: 【PHP】php7.2报错The each() function is deprecated. This message will be suppressed on furthe

php7.2以上 废除了 each()方法, 项目中用到的地方会出现以下报错

The each() function is deprecated. This message will be suppressed on further calls

解决办法。很简单

while (list($key, $val) = each($array)) {
#code
}

改为

foreach ($array as $key => $val) {
#code
}

list — 把数组中的值赋给一些变量

void list ( mixed $varname , mixed $... ) 仅能用于数字索引的数组并假定数字索引从 0 开始。

a. list()=array(); 需要将一个数组赋值给这个函数

b. 数组中的元素个数, 要和list()函数中的参数个数相同

c. 数组中的每个元素值会赋值list()函数中的每个参数, list()将每个参数转为变量

d. list()只能接收索引数组

e. 按索引的下标的顺序

实例1:

<?php
$arr = array(1, 'ab' => 2, 3 , 8=> 18, 2=>20 );
//注意上述数组的下标是0, 'ab', 1, 8, 2
list($v1, $v2, $v3 ) = $arr; //这里不是赋值语句,而是被称为"语法结构"
//以上一行相当于
//$v1 = $arr[0]; $v2=$arr[1];$v3=$arr[2];
echo("<br />v1=$v1 "); //v1=1
echo "<br />v2=$v2 "; //v2=3
echo "<br />v3=$v3 "; //v3=20
?>

实例2:

<?php
$info = array('coffee','brown','caffeine');
list($drink,$color,$power) = $info;
echo "$drink is $color and $power makes it special.\n";

list($drink,,$power) = $info;
echo "$drink has $power.\n";

list(,$drink) = $info;
echo "I need $drink";
?>

输出结果:coffee is brown and caffeine makes it special. coffee has caffeine. I need brown

实例3:

<?php
$user=array("id"=>1, "name"=>"zhangsan", "age"=>10, "sex"=>"nan");
while(list($key, $value)=each($user)){
echo $key."==>".$value."<br>";
}
?>
输出结果:id==>1
name==>zhangsan
age==>10
sex==>nan

相关推荐

1.大白话 Spring_大白话对应的是什么话

此文是学习spring源码一些体会,记录下来,哪里有不对的地方,希望批评指正!1.Spring是什么Spring是一款开源的轻量级Java开发框架,旨在提高开发人员的开发效率以及系统的可维护性。...

MyBatis3.5.11-从入门到高阶_mybatis快速入门

一.课程介绍MyBatis概述...

Spring_spring festival

Spring初始化流程,容器初始化,主要流程在AbstractApplicationContext.refresh()1.容器预先准备-...

关于Spring的69个面试问答--终极列表

这篇文章总结了一些关于Spring框架的重要问题,这些问题都是你在面试或笔试过程中可能会被问到的。下次你再也不用担心你的面试了,JavaCodeGeeks这就帮你解答。大多数你可能被问到的问题都列...

49个Spring经典面试题总结(附带答案)

点关注,不迷路!课程资料,关注私信【555】获取,还可领取更多Java面试题资料一、一般问题1.不同版本的SpringFramework有哪些主要功能?2.什么是SpringFram...

MySQL 开发规范_mysql使用规范

一、数据库命名规范所有数据对象名称必须小写:db_user禁止使用MySQL保留关键字,若是则引用``...

Spring框架入门_spring框架入门案例

一.spring是什么?Spring是分层...

JDBC hibernate 和 ibatis 的区别

JDBC、Hibernate和MyBatis(前身是iBatis)都是Java中常见的数据库访问技术,它们各有优缺点,适用于不同的场景。下面是它们的一些区别:JDBC是Java连接...

万变不离其宗,spring常考知识点总结

万变不离其宗,只要理解透了spring常考知识点,那么面试时的问题就好回答了。1.什么是Spring?...

大促数据库压力激增,如何一眼定位 SQL 执行来源?

作者:京东科技王奕龙你是否曾经遇到过这样的情况:在大促活动期间,用户访问量骤增,数据库的压力陡然加大,导致响应变慢甚至服务中断?更让人头疼的是,当你试图快速定位问题所在时,却发现难以确定究竟是哪个业...

SSM三大框架整合详细教程_简单介绍一下ssm框架

SSM三大框架整合详细教程(SPRING+SPRINGMVC+MYBATIS)使用SSM(Spring、SpringMVC和Mybatis)已经有三个多月了,项目在技术上已经没有什么难...

MyBatis有哪些核心对象?_mybatis核心接口包括

Mybatis基本要素MyBatis有三个基本要素:...

ibatis 核心原理解析_ibs架构

最近查找一个生产问题的原因,需要深入研究ibatis框架的源码。虽然最后证明问题的原因与ibatis无关,但是这个过程加深了对ibatis框架原理的理解。这篇文章主要就来讲讲ibatis...

python常用得内置函数解析——list()函数

ython中最常用的内置函数之一list()。1.函数定义list()函数用于创建一个新的列表对象。...

面试干货——某度Python面试题,转发收藏

目录1、Python是如何进行内存管理的?2、什么是lambda函数?它有什么好处?...