我有一個Array
,當我打印它時,我得到以下輸出;獲取數組的值
Array[{"city":"London","school":"st patrick"}]
現在我想讀取保存在變量city
的項目,並檢查其London
下IF
條件;
if ($cityArray['city'] == 'London') {
echo 'City present';
}
我如果條件之上,是不正確的,我沒有得到預期的輸出。我想我訪問city
項目的方式不正確。
我有一個Array
,當我打印它時,我得到以下輸出;獲取數組的值
Array[{"city":"London","school":"st patrick"}]
現在我想讀取保存在變量city
的項目,並檢查其London
下IF
條件;
if ($cityArray['city'] == 'London') {
echo 'City present';
}
我如果條件之上,是不正確的,我沒有得到預期的輸出。我想我訪問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的數組的索引號。
這是一個JSON字符串,你需要首先解碼:
$data = json_decode($json);
然後,您可以訪問的元素,像這樣:
for ($i = 0; $i < count($data); $i++) {
$element = $data[$i];
echo $element->city;
}
這會導致錯誤 – PeeHaa 2012-07-13 09:04:42
使用正確的語法,還是說這個問題?你在'$ cityArray'上缺少'$' – Dan 2012-07-13 09:06:26
這是一個錯誤,我會糾正它 – Illep 2012-07-13 09:08:27