任何人都知道如何做到這一點?多維數組循環與一些值未設置 - PHP
我想通過一個數組,其中不是每個對象都有一個值。我想得到的是一個數組,其中的鍵保存了指定stdClass對象的數字,並將「value」作爲值。如果沒有指定「值」,則應打印「0」。
所以最後陣列應該是這個樣子:
Array (
[123456789_123456789] => 192
[54321_98765] => 0
[987654321_123456789] => 1292
[987854321_123456734] => 0
)
原來這裏是輸出:
stdClass Object (
[123456789_123456789] => stdClass Object (
[data] => Array (
[0] => stdClass Object (
[id] => 123456789_123456789/insights/name_of_metric/period
[name] => name_of_metric
[period] => lifetime
[values] =>
Array (
[0] => stdClass Object (
[value] => 1292)
)
[title] => Lifetime Post Organic Reach
[description] => A Description ...
[paging] => stdClass Object (
[previous] => https://graph.facebook.com/ALINK
[next] => https://graph.facebook.com/ALINK
))
[54321_98765] => stdClass Object (
[data] => Array (
[paging] => stdClass Object (
[previous] => https://graph.facebook.com/ALINK
[next] => https://graph.facebook.com/ALINK
))
[987654321_123456789] => stdClass Object (
[data] => Array (
[0] => stdClass Object (
[id] => 987654321_123456789/insights/name_of_metric/period
[name] => name_of_metric
[period] => lifetime
[values] =>
Array (
[0] => stdClass Object (
[value] => 1292)
)
[title] => Lifetime Post Organic Reach
[description] => A Description ...
[paging] => stdClass Object (
[previous] => https://graph.facebook.com/ALINK
[next] => https://graph.facebook.com/ALINK
))
[987854321_123456734] => stdClass Object (
[data] => Array (
[paging] => stdClass Object (
[previous] => https://graph.facebook.com/ALINK
[next] => https://graph.facebook.com/ALINK
))
)
這是我試過到目前爲止:
$aVar = array();
foreach ($var as $var_1){
foreach ($var_1->data as $var_2){
foreach ($var_2->values as $var_3){
$aVar[] = $var_3->value;
}
}
}
我相信我必須使用foreach (var_1->data as $var_2 => $var2_1)
你到目前爲止嘗試過什麼?你在這樣做的過程中遇到了具體問題?什麼阻礙你只是檢查這個值,例如? – hakre 2012-03-12 21:42:44
你需要循環的邏輯嗎?要省略空對象,只需使用is_null或is_set,如果值爲null,則將值設置爲0,否則複製該值。 – evanmcdonnal 2012-03-12 21:44:36
到目前爲止,你的循環是什麼樣的? – jeroen 2012-03-12 21:44:39