将数组中的元素指定给变量?

问题描述:

我试图从数组中拉出一个元素,将其分配给一个变量,但迄今没有多少运气......这是我的代码。将数组中的元素指定给变量?

$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: 

我使用列表(),爆炸()和内爆()试过,但我似乎无法拉[ID]并将其值分配给一个变量。我该怎么办呢?

+1

访问值通过'$ data [0] ['FirstName']'和'$ data [0] ['Id']' – Cheery 2014-10-19 03:38:25

在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; 
+0

$ id = $ data [0] ['Id'];像魅力一样工作!我曾尝试将一个变量赋值给$ data [0],但显然这并不正确。非常感谢! – Banjerr 2014-10-19 04:32:33