下面我有,我從JSON有這樣如何過濾器PHP陣列stdClass的對象
$page = file_get_contents("http://giswebcenter.mwa.co.th/mwa/ashx/Proxy.ashx");
$json_output = json_decode($page);
陣列中的數據,然後我有這樣的數據時,我的print_r($ json_output)
stdClass Object
(
[success] => 1
[total] => 850
[message] =>
[data] => Array
(
[0] => stdClass Object
(
[BRANCH] => 01
[ZONE] => 03
[BLOCK] => 04
[MATL] => ST
[LENGTH] => 516.492
)
[1] => stdClass Object
(
[BRANCH] => 01
[ZONE] => 03
[BLOCK] => 05
[MATL] => SCP
[LENGTH] => 19.177
)
[2] => stdClass Object
(
[BRANCH] => 01
[ZONE] => 03
[BLOCK] => 05
[MATL] => ST
[LENGTH] => 519.355
)
[3] => stdClass Object
(
[BRANCH] => 01
[ZONE] => 03
[BLOCK] => 06
[MATL] => SCP
[LENGTH] => 59.713
)
[4] => stdClass Object
(
[BRANCH] => 01
[ZONE] => 03
[BLOCK] => 06
[MATL] => ST
[LENGTH] => 476.866
)
[5] => stdClass Object
(
[BRANCH] => 01
[ZONE] => 04
[BLOCK] => 03
[MATL] => SCP
[LENGTH] => 64.875
)
[6] => stdClass Object
(
[BRANCH] => 01
[ZONE] => 04
[BLOCK] => 03
[MATL] => ST
[LENGTH] => 44.888
)
[7] => stdClass Object
(
[BRANCH] => 01
[ZONE] => 04
[BLOCK] => 05
[MATL] => SCP
[LENGTH] => 19.979
)
[8] => stdClass Object
(
[BRANCH] => 01
[ZONE] => 04
[BLOCK] => 05
[MATL] => ST
[LENGTH] => 28.591
)
[9] => stdClass Object
(
[BRANCH] => 01
[ZONE] => 04
[BLOCK] => 07
[MATL] => SCP
[LENGTH] => 38.967
)
)
)
我想過濾數組中的數據爲ZONE = '03'
我試過這個代碼與array_filter(),但注意到。
function filterZone($obj)
{
return $obj['data']->BRANCH == "01";
}
$BRANCH = array_filter($json_output, 'filterZone');
print_r($BRANCH);
任何人都可以幫助或者建議我這樣做嗎?
謝謝。
的可能重複[我怎樣才能篩選stdClass的對象(http://stackoverflow.com/questions/29025075/how-can-i-filter -stdclass-object) – James 2015-03-13 07:07:31
@Sadikhasan它是重複的,因爲這兩個問題都來自同一個用戶,在2小時內。我不在乎他們以前是否有答案,這是浪費我和其他人的時間,而且不公平。這根本不是板球! – James 2015-03-13 07:12:51
@詹姆斯你是對的!我們必須「關閉」這個問題。 – Sadikhasan 2015-03-13 07:14:00