获取数组的值

时间:2012-07-13 09:03:30

标签: php

我有Array,当我打印它时,我得到以下输出;

Array[{"city":"London","school":"st patrick"}]

现在,我想阅读保存在变量city中的项目,并检查下面London条件中的IF是否正确;

if ($cityArray['city'] == 'London') {

  echo 'City present';
}

我的if条件不正确,我没有得到预期的输出。我猜我访问city项的方式不正确。

2 个答案:

答案 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。