CleverCode发现一个通过接收php函数返回多个值的方法。以前python里面经常用,php里面也有这个方法。
<?php function retInfo() { $name = '张三'; $age = 18; $sex = 1; return array($name,$age,$sex); } list($name1,$age1,$sex1) = retInfo(); echo "name:${name1},age:${age1},sex:${sex1}\r\n"; list($name2,$age2,$sex2) = array('李四',19,2); echo "name:${name2},age:${age2},sex:${sex2}\r\n"; ?>
list()
PHP list() 用一步操作把数组中的值赋给一些变量。同 array() 一样,list() 不是真正的函数,而是语言结构。
语法:
void list( mixed var, mixed ... )注意: list() 仅能用于数字索引的数组并假定数字索引从 0 开始。
例子1:
<?php $arr_age = array(18, 20, 25); list($wang, $li, $zhang) = $arr_age; echo $wang; //输出:18 echo $zhang; //输出:25 ?>
例子2,数据表查询:
$result = mysql_query("SELECT id, username, email FROM user",$conn); while(list($id, $username, $email) = mysql_fetch_row($result)) { echo "用户名:$username<br />"; echo "电子邮箱:$email"; }
list() 使用数组索引
list() 中允许使用另一个数组来接收数组赋值过来的值,只是当使用索引数组的时候,其赋值顺序跟 list() 中列出的顺序是相反的:
$arr_age = array(18, 20, 25); list($a[0], $a[1], $a[2]) = $arr_age; print_r($a);
输出的 $a 数组结构如下:
Array ( [2] => 25 [1] => 20 [0] => 18 )
以上是php如何利用list()函数将数组中的值赋给变量的方法的详细内容。更多信息请关注PHP中文网其他相关文章!