看板 PHP 關於我們 聯絡資訊
原本陣列: $path= array ( [0] => array( “A” => “1” “B” => “1” ) [10] => array( “A” => “2” “C” => “2” ) [20] => array( “A” => “1” “B” => “1” ) [50] => array( “A” => “1” “B” => “1” ) ) 想要輸出的結果 : $result = Array( [A]=>array(1,2,1,1) [B]=>array(1,1,1) [C]=>array(2) ) 用下列的方法: foreach($path as $k1=>$v1) { foreach($v1 as $k2 => $v2){ $result[$k2]= array(); array_push($result[$k2], $v2); } } 可是用 array_push 必須先宣告, 所以 $result 只會輸出最後得值 例如 : $result = Array( [A]=>array(1) [B]=>array(1) [C]=>array(2) ) 是否有比較好的寫法或方法 ? 感謝 ^^ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.221.12
JeffMcBride:如果要這麼用 加一行if(!is_array($result[$k2]))就好 05/29 22:40
JeffMcBride:樓下c大的宣告方式 在php好用!! 05/29 22:48
sunbelt:可以囉~ 謝謝^^ 05/30 13:08