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}
";
list($name2,$age2,$sex2) = array('李四',19,2);
echo "name:${name2},age:${age2},sex:${sex2}
";
?>
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 ) |