将元素从数组赋值给变量?

时间:2014-10-19 03:34:11

标签: php arrays

我试图从一个数组中拉出一个元素,将它分配给一个变量,但到目前为止没有太多运气......这是我的代码。

$email = $clientEmail;
$returnFields = array('Id', 'FirstName');
$data = $app->findByEmail($email, $returnFields);
if($debug){
    echo "<pre>Contact Info:";
    print_r($data[0]);
    echo "ID is:";
    list($contactId, $contactName) = $data[0];
    echo $contactId;
    echo "</pre>";
}

返回此内容......

Contact Info:Array
(
[FirstName] => Scooby1
[Id] => 59871
)
ID is:

我已尝试使用list(),explode()和implode(),但我似乎无法拉出[Id]并将其值分配给变量。我还能怎么做呢?

1 个答案:

答案 0 :(得分:1)

在php手册中,您可以找到以下内容,“list()仅适用于数值数组,并假设数字索引从0开始。”,因此您的代码无法正常工作。

您可以将其更改为

$contactName = $data[0]['FirstName'];
$id = $data[0]['Id'];

或者您可以更改find​​ByEmail方法以返回数值数组

$result->fetch(PDO::FETCH_NUM))

甚至这种魔法也应该起作用

$numericalArray = (array) $data[0];
list($contactName, $id) = $numericalArray;