標準の foreach ループを使用して別の配列に埋め込まれた配列を抽出しようとしていますが、問題は不要なデータを返し続けることです。
配列
Array
(
[id] => 2035443879
[status] => Unshipped
[sku] => 0340024275-UsedGood
[isbn] => 0340024275
[condition] => Used
[number_of_items] => 1
[title] => Linnets and Valerians (Knight Books)
[purchase_date] => 1361536149
[0] => Array
(
[status] => Shipped
[title] => Linnets and Valerians (Knight Books)
[date] => 1361491200
)
)
印刷機能
function mapStatus($orders){
foreach($orders as $order){
echo "<pre>";
print_r($order);
echo "</pre>";
foreach(array_unique($order) as $item){
echo "-".$item["status"]."-";
}
}
}
結果
-2--U--0--0--U--1--W--L--H--1--Shipped-
私の結果からわかるように、印刷されたものは私が期待したものとまったく同じではありません。実際に必要な配列だけでなく、配列内のすべてのインデックスの最初の文字を印刷しているようです。
関数を使用して、印刷しているものが配列オブジェクトから来ているかどうかを判断できることは承知していis_array()
ますが、私が望むことを行う適切な方法があるかどうか知りたいですか?