将数组项分配给一行中的各个变量

时间:2013-08-25 20:15:01

标签: php

我有一大堆代码,如:

<?php
$person = array("John", "Smith", "Male", "Green");
$firstN = $person[0];
$lastN = $person[1];
$gender = $person[2];
$favColor = $person[3];
?>

我看到一些代码一旦整合了这个,但我无法弄清楚它是如何完成的,并且无法找到我看到示例的页面。它类似于:

<?php
$person = array("John", "Smith", "Male", "Green");
someFunction($firstN, $lastN, $gender,$favColor) = $person;
?>

它基于数组中的值分配变量,与第一个示例的方式相同。

以上示例中someFunction可以是什么?

2 个答案:

答案 0 :(得分:2)

您可能正在寻找PHP的list()功能。

例如:

$info = array('coffee', 'brown', 'caffeine');
// Listing all the variables
list($drink, $color, $power) = $info;

在你的情况下:

$person = array("John", "Smith", "Male", "Green");
list($firstN, $lastN, $gender,$favColor) = $person;

答案 1 :(得分:2)

为什么是的!实际上有一种很酷的方法:

list($firstN, $lastN, $gender, $favColor) = $person;

就是这样!将填充所有变量。

请参阅 list() PHP manual entry