- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:配列の並びについて)
配列の並びについて
このQ&Aのポイント
- 配列要素が思うように並んでくれません。
- (1)のような配列を(2)のように配列要素を記述した順番で出力したいのですが、可能かどうか教えてください。
- 自動的にソートされてArray([001]=>XXX [002]=>XXX [003]=>XXX)となります。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
自動的にソートはされません。 普通に作成順に表示されます。 (2)の番号順とはどのような処理でだしたのかソースを 簡便に書いてください。 <?PHP $ary=array( "001"=>array("en"=>"TOYOTA","jp"=>"トヨタ"), "003"=>array("en"=>"HONDA","jp"=>"ホンダ"), "002"=>array("en"=>"NISSAN","jp"=>"日産") ); print_r($ary); print "<hr>"; foreach($ary as $key1=>$val1){ foreach($val1 as $key2=>$val2){ print "{$key1}:{$key2}:{$val2}<br>"; } } ?>
お礼
ご回答ありがとうございました。解決しました。お恥ずかしい話ですがつまらないミスが原因でした。お時間をとらせてしまったことお詫びいたします。 $ary=array( "001"=>array("en"=>"TOYOTA","jp"=>"トヨタ"), "002"=>array("en"=>"NISSAN","jp"=>"日産"), "003"=>array("en"=>"MITUSBISHI","jp"=>"三菱"), "002"=>array("en"=>"HONDA","jp"=>"ホンダ"), ); 実はこのようなことでした。 ホンダのインデックスを"002"とし、配列要素の一番後ろに配置しようとしていたのですが、同じインデックスを日産にも指定していたため、print出力したときに Array([001]=>トヨタ [002]=>ホンダ [003]=>三菱・・・・・) と表示され、自動的にソートされるものだと勘違いしておりました。 再度、お手数をお掛けいたしましたことお詫び申し上げます。ありがとうございました。