将数组中的元素指定给变量?
问题描述:
我试图从数组中拉出一个元素,将其分配给一个变量,但迄今没有多少运气......这是我的代码。将数组中的元素指定给变量?
$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]并将其值分配给一个变量。我该怎么办呢?
答
在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;
+0
$ id = $ data [0] ['Id'];像魅力一样工作!我曾尝试将一个变量赋值给$ data [0],但显然这并不正确。非常感谢! – Banjerr 2014-10-19 04:32:33
访问值通过'$ data [0] ['FirstName']'和'$ data [0] ['Id']' – Cheery 2014-10-19 03:38:25