我有Array
,当我打印它时,我得到以下输出;
Array[{"city":"London","school":"st patrick"}]
现在,我想阅读保存在变量city
中的项目,并检查下面London
条件中的IF
是否正确;
if ($cityArray['city'] == 'London') {
echo 'City present';
}
我的if条件不正确,我没有得到预期的输出。我猜我访问city
项的方式不正确。
答案 0 :(得分:0)
这是一个JSON字符串,您需要先解码它:
$data = json_decode($json);
然后你可以像这样访问元素:
for ($i = 0; $i < count($data); $i++) {
$element = $data[$i];
echo $element->city;
}
答案 1 :(得分:0)
有几件事。您的数组看起来是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。