我有一个Array
,当我打印它时,我得到以下输出;
Array[{"city":"London","school":"st patrick"}]
现在我想读取保存在变量中的项目city
并检查它是否London
处于以下IF
条件;
if ($cityArray['city'] == 'London') {
echo 'City present';
}
我上面的 if 条件不正确,我没有得到预期的输出。我猜我访问该city
项目的方式不正确。
我有一个Array
,当我打印它时,我得到以下输出;
Array[{"city":"London","school":"st patrick"}]
现在我想读取保存在变量中的项目city
并检查它是否London
处于以下IF
条件;
if ($cityArray['city'] == 'London') {
echo 'City present';
}
我上面的 if 条件不正确,我没有得到预期的输出。我猜我访问该city
项目的方式不正确。
这是一个 JSON 字符串,您需要先对其进行解码:
$data = json_decode($json);
然后你可以像这样访问元素:
for ($i = 0; $i < count($data); $i++) {
$element = $data[$i];
echo $element->city;
}
有几件事。您的数组看起来是 JSON 格式。您需要使用 json_decode 进行解码(在修复数组格式之后):
$jsonArray = Array('{"city":"London","school":"st patrick"}'); // User the correct PHP array format: Array() while the inside elements should be quoted if they're strings.
$cityArray = json_decode($jsonArray[0]);
使用正确的变量引用格式:
if ($cityArray->city == 'London') { // $cityArray is an object, so you'll need to use the -> operator to get its "city" property.
echo 'City present';
}
您尝试访问关联数组的值的方式(通过输入名称以返回值)是正确的,但只需要修复几个格式问题即可。
编辑:添加了数组的索引号以获取 JSON。