我想要得到的是刪除 Rest 字段中的重復值,但我想分配/保留其原始日期。元素:array (size=413) 0 => array (size=5) 'Date' => array (size=1) 0 => int 1588520980 'Rest' => 123abc 1 => array (size=5) 'Date' => array (size=1) 0 => int 1588520981 'Rest' => qwe123 2 => array (size=5) 'Date' => array (size=1) 0 => int 1588520983 'Rest' => qwe123我試過了,但沒用public function find_repeats($arr){ foreach(array_column($arr, 'Rest') as $ckey=>$value) { $keys = array_reverse(array_keys(array_column($arr, 'Rest'), $value)); foreach ($keys as $v) { if ($ckey != $v && isset($arr[$v])) { $arr[$ckey]['Date'][] = $arr[$v]['Date'][0]; unset($arr[$v]); } } } return $arr;}這是此操作后表格的外觀array (size=413) 0 => array (size=5) 'Date' => array (size=1) 0 => int 1588520980 'Rest' => 123abc 1 => array (size=5) 'Date' => array (size=1) 0 => int 1588520981 1 => int 1588520983 'Rest' => qwe123感謝幫助!:)
1 回答

ITMISS
TA貢獻1871條經驗 獲得超8個贊
沒有所有這些堆疊功能的簡單解決方案:
$newData = [];
foreach ($arr as $item) {
$rest = $item['Rest'];
if (!isset($newData[$rest])) {
$newData[$rest] = $item;
} else {
$newData[$rest]['Date'][] = $item['Date'][0];
}
}
// optionally apply array_values to get 0-indexed array:
$newData = array_values($newData);
- 1 回答
- 0 關注
- 149 瀏覽
添加回答
舉報
0/150
提交
取消