を作成します。私はname
、country
とage
でグループ同じid
に必要PHP多次元配列:グループ繰り返される値と私はこのような繰り返しの値を持つ配列を持つ「サブアレイ」
Array
(
[0] => Array
(
[id] => 112
[name] => John
[country] => Spain
[age] => 24
[company] => One
[price] => 10
)
[1] => Array
(
[id] => 112
[name] => John
[country] => Spain
[age] => 24
[company] => Two
[price] => 15
)
[2] => Array
(
[id] => 112
[name] => John
[country] => Spain
[age] => 24
[company] => Three
[price] => 20
)
[3] => Array
(
[id] => 224
[name] => Paul
[country] => France
[age] => 25
[company] => One
[price] => 25
)
[4] => Array
(
[id] => 224
[name] => Paul
[country] => France
[age] => 25
[company] => Two
[price] => 40
)
)
、および「作ります
012:私は良い結果せずにこのコードを試してみましたcompany
と
price
Array
(
[112] => Array
(
[id] => 112
[name] => John
[country] => Spain
[age] => 24
[companies] => array (
array(
[company] => One
[price] => 10
)
array(
[company] => Two
[price] => 15
)
array(
[company] => Three
[price] => 20
)
)
)
[224] => Array
(
[id] => 2
[name] => Paul
[country] => France
[age] => 25
[companies] => array (
array(
[company] => One
[price] => 25
)
array(
[company] => Two
[price] => 40
)
)
)
)
とサブアレイ」
$new_array = array();
foreach ($my_array as $item) {
$new_array[$item['id']][] = $item;
$new_array[$item['id']]['companies'][] = $item;
}
その後、私はこれを試してみました:
$new_array = array();
foreach ($my_array as $item) {
$new_array[$item['id']]['temp'] = $item;
$new_array[$item['id']]['companies'][] = $item;
}
が正常に動作しますが、私はそれを望んでいないことをtemp
キーを取得します。 $final_array[$key]['id']
$final_array = array();
foreach ($new_array $key=>$item) {
$final_array [$key] = $item['temp'];
$final_array [$key]['temp'] = $item['companies'];
}
:たとえば、このコードで、私は別のループとtemp
キーを削除することができ$new_array [$key]['temp']['id']
でid
項目にアクセスする必要があります
別のオプションは、このコードです:
foreach($array as $v) {
$result[$v['id']]['id'] = $v['id'];
$result[$v['id']]['name'] = $v['name'];
$result[$v['id']]['country'] = $v['country'];
$result[$v['id']]['age'] = $v['age'];
$result[$v['id']]['companies'][] = array('company' => $v['company'],
'price' => $v['price']);
}
しかしワットあれば、それは非常にエレガントではありませんeにはもっと多くのキーがありました(電話、メール...)
アイデア?あなたが述べたように
こんにちは、あなたはコードをテストしましたか?思考は非常に良いようだが、私は期待された結果を得ていない – kurtko
このコードで私にはうまくいくようだ:$ exclude = array( 'company' => 0、 'price' => 0) – kurtko
作品!!完璧な解決策 – kurtko