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中文網其他相關文章!