1

私は配列を持っています:

Array
( 
[47] => Array
    (
        [name] => 3543 good
        [price] => 100.0000
        [image] => data/hp_1.jpg
        [discount] => 
        [stock_status] => 
        [weight_class] => kg
    )

[28] => Array
    (
        [name] => HTC Touch HD
        [price] => 100.0000
        [image] => data/htc_touch_hd_1.jpg
        [discount] => 
        [stock_status] => 
        [weight_class] => g
    )

[41] => Array
    (
        [name] => iMac
        [price] => 100.0000
        [image] => data/imac_1.jpg
        [discount] => 
        [stock_status] => 
        [weight_class] => kg
    )

[40] => Array
    (
        [name] => iPhone
        [price] => 101.0000
        [image] => data/iphone_1.jpg
        [discount] => 
        [stock_status] => 
        [weight_class] => kg
    )
)

製品IDであるため、サブ配列キー(47、28など)が必要です

foreachループを実行して詳細を取得し、新しい配列に割り当てています。たとえば'name' => $result['name']、製品IDをターゲットにする方法がわかりません。

4

4 に答える 4

2

foreach ループでキーを変数に割り当てることができます。

foreach($array as $id => $result) {
    $item = array('name' => $result['name'], 'id' => $id);
}
于 2012-06-13T00:07:26.890 に答える
1

foreachこのようにして、値だけでなくキーも繰り返すことができます。

foreach($items as $key => $value)
{
    ...
}

あなたの場合、それは次のようになります:

foreach($results as $id => $result)
{
    $item = array('name' => $result['name'], 'id' => $id, ...);
}
于 2012-06-13T00:13:29.693 に答える
1

キーと値のペアを持つ連想配列として反復します。

foreach($array as $key=>$value) {
   echo $key; // this is what you need, if I got you right
}
于 2012-06-13T00:07:14.950 に答える
0

foreach次のように、キー変数をループに追加します。

foreach( $array as $product_id => $result)
    echo $product_id . ' costs ' . $result['price'] . "\n";
于 2012-06-13T00:07:13.110 に答える