我试图从一个数组中拉出一个元素,将它分配给一个变量,但到目前为止没有太多运气......这是我的代码。
$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]并将其值分配给变量。我还能怎么做呢?
答案 0 :(得分:1)
在php手册中,您可以找到以下内容,“list()仅适用于数值数组,并假设数字索引从0开始。”,因此您的代码无法正常工作。
您可以将其更改为
$contactName = $data[0]['FirstName'];
$id = $data[0]['Id'];
或者您可以更改findByEmail方法以返回数值数组
$result->fetch(PDO::FETCH_NUM))
甚至这种魔法也应该起作用
$numericalArray = (array) $data[0];
list($contactName, $id) = $numericalArray;