[0]=>
tatasusunan(5) {
["id"]=>
rentetan(1) "2"
["title1"]=>
rentetan(6) "warna"
["content1"]=>
rentetan(4) "Merah 2"
["title2"]=>
rentetan(6) "saiz"
["content2"]=>
rentetan(2) "XL"
}
[1]=>
tatasusunan(5) {
["id"]=>
rentetan(1) "1"
["title1"]=>
rentetan(6) "warna"
["content1"]=>
rentetan(4) "Merah 1"
["title2"]=>
rentetan(6) "saiz"
["content2"]=>
rentetan(1) "L"
}
[2]=>
tatasusunan(5) {
["id"]=>
rentetan(1) "3"
["title1"]=>
rentetan(6) "warna"
["content1"]=>
rentetan(4) "Merah 3"
["title2"]=>
rentetan(6) "saiz"
["content2"]=>
rentetan(3) "XXL"
}
Dihimpun seperti ini
tatasusunan(5) {
["title1"]=>
rentetan(6) "warna"
["content1"]=>
tatasusunan(5) {
["id"]=>
rentetan(1) "2"
["content1"]=>
rentetan(4) "Merah 2"
["id"]=>
rentetan(1) "1"
["content1"]=>
rentetan(4) "Merah 1"
["id"]=>
rentetan(1) "3"
["content1"]=>
rentetan(4) "Merah 3"
}
["title2"]=>
rentetan(6) "saiz"
["content2"]=>
tatasusunan(5) {
["id"]=>
rentetan(1) "2"
["content2"]=>
rentetan(4) "XL"
["id"]=>
rentetan(1) "1"
["content2"]=>
rentetan(4) "L"
["id"]=>
rentetan(1) "3"
["content2"]=>
rentetan(4) "XXL"
}
}
人生最曼妙的風景,竟是內心的淡定與從容!
Ada masalah pada bahagian yang subjek nak pasang. Ambil content1
sebagai contoh:
['content1'] => [
'id'=>2,
'content1'=>'紅2',
'id'=>1,
'content1'=>'紅1',
'id'=>3,
'content1'=>'紅3',
]
Dengan cara ini, hanya data dengan id 3 boleh dikekalkan.
Saya rasa apa yang penyoal perlukan adalah ini:
['content1'] => [
['id'=>2,'content1'=>'紅2'],
['id'=>1,'content1'=>'紅1'],
['id'=>3,'content1'=>'紅3'],
]
Jadi, "inilah cara penulisan yang paling sampah dalam sejarah", saya cadangkan anda menjalankan sendiri kod berikut.
Tatasusunan asal:
$arr = [
['id'=>2,'title1'=>'顏色','content1'=>'紅2','title2'=>'尺碼','content2'=>'XL'],
['id'=>1,'title1'=>'顏色','content1'=>'紅1','title2'=>'尺碼','content2'=>'L'],
['id'=>1,'title1'=>'顏色','content1'=>'紅3','title2'=>'尺碼','content2'=>'XXL']
];
Kod yang saya tulis:
$newArr = [];
foreach($arr as $k=>$v)
{
$keyArr = array_keys($v);
$valueArr = array_values($v);
foreach($keyArr as $key=>$val)
{
if((strstr($val, 'title') || strstr($val, 'content')) && !array_key_exists($val, $newArr))
$newArr[$val] = strstr($val, 'title') ? $valueArr[$key] : [];
if(strstr($val, 'content'))
{
foreach($arr as $ke=>$va)
{
$newArr[$val][$ke]['id'] = $va['id'];
$newArr[$val][$ke][$val] = $va[$val];
}
}
}
}
Saya tidak berbakat, kod tidak ditulis dengan baik, saya harap anda boleh memaafkan saya, tolong jangan tampar muka saya.
Bagaimana ia harus dipasang? Apabila saya bertanya soalan, anda tidak dapat menerangkannya dengan jelas