1

私はArrayそれを印刷すると、次の出力が得られます。

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

ここで、変数に保存されたアイテムを読み取り、以下の条件にあるcityかどうかを確認したいと思います。LondonIF

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

  echo 'City present';
}

上記の if 条件が正しくありません。期待される出力が得られません。cityアイテムへのアクセス方法が間違っていると思います。

4

2 に答える 2

0

これは JSON 文字列です。最初にデコードする必要があります。

$data = json_decode($json);

次に、次のように要素にアクセスできます。

for ($i = 0; $i < count($data); $i++) {
    $element = $data[$i];
    echo $element->city;
}
于 2012-07-13T09:08:37.000 に答える
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 を取得するために配列のインデックス番号を追加しました。

于 2012-07-13T09:09:47.420 に答える