<?php
$array = [
0 => [
"product_code" => "67021687",
"product_name" => "Spaces",
"cha_sty_id" => "PUSH",
"chs_name" => "WF"
],
1 => [
"product_code" => "67021687",
"product_name" => "Spaces",
"cha_sty_id" => "PUSH",
"chs_name" => "WFR"
],
2 => [
"product_code" => "67021687",
"product_name" => "Spaces",
"cha_sty_id" => "PUSH",
"chs_name" => "STK Food"
],
3 => [
"product_code" => "67021687",
"product_name" => "Spaces",
"cha_sty_id" => "PULL",
"chs_name" => "4 Stars"
],
4 => [
"product_code" => "67021687",
"product_name" => "Spaces",
"cha_sty_id" => "PULL",
"chs_name" => "5 Stars"
],
5 => [
"product_code" => "67021687",
"product_name" => "Spaces",
"cha_sty_id" => "PULL",
"chs_name" => "Modern Thai"
],
6 => [
"product_code" => "67021687",
"product_name" => "Spaces",
"cha_sty_id" => "PULL",
"chs_name" => "BBQ Buffet"
],
7 => [
"product_code" => "67021687",
"product_name" => "Spaces",
"cha_sty_id" => "PULL",
"chs_name" => "Chinese"
]
];
$res = [];
array_walk($array, function($v, $k) use (&$res){
if(in_array($v['product_code'], array_column($res, 'product_code'))){
array_push($res[$v['product_code']]["push"], $v['chs_name']);
array_push($res[$v['product_code']]["pull"], $v['chs_name']);
}else{
$res[$v['product_code']] = [
"product_code" => $v['product_code'],
"product_name" => $v['product_name'],
"push" => [$v['chs_name']],
"pull" => [$v['chs_name']]
];
}
});
echo '<pre>';
print_r(array_values($res));
- Output for 7.1.25 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
- <pre>Array
(
[0] => Array
(
[product_code] => 67021687
[product_name] => Spaces
[push] => Array
(
[0] => WF
[1] => WFR
[2] => STK Food
[3] => 4 Stars
[4] => 5 Stars
[5] => Modern Thai
[6] => BBQ Buffet
[7] => Chinese
)
[pull] => Array
(
[0] => WF
[1] => WFR
[2] => STK Food
[3] => 4 Stars
[4] => 5 Stars
[5] => Modern Thai
[6] => BBQ Buffet
[7] => Chinese
)
)
)
preferences:
164.93 ms | 410 KiB | 5 Q