データの個数が単数/復数の場合で配列の深さが異なる入力データを、foreach で配列を維持したまま取得したいのですが、データが単数(ケース1)の場合にうまくいきません。
どこかで条件分岐が必要だと思うのですが、どのように行うのがベストでしょうか?
foreach の中で、「$value が配列か否か」で判定するのがスマートでしょうか?
よろしくお願いいたします。
###入力データ
// ケース1:データが単数の場合 [Item] => Array ( [Id] => 201600000001 [Price] => 100 ) // ケース2:データが復数の場合 [Item] => Array ( [0] => Array ( [Id] => 201600000001 [Price] => 100 ) [1] => Array ( [Id] => 201600000002 [Price] => 200 ) )
###コード
foreach ($Item as $Key => $value) { array_push($result, $value); } print_r($result);
###取得結果(ケース1の場合に配列が維持できない)
// こう取得したいけど… Array ( [0] => Array ( [Id] => 201600000001 [Price] => 100 ) ) // こうなってしまう。 Array ( [0] => 201600000001 [1] => 100 )
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/12/09 05:26
2016/12/09 05:51
2016/12/09 05:56