亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何刪除 foreach 循環中的雙打元素并保留分配給原始日期的日期?

如何刪除 foreach 循環中的雙打元素并保留分配給原始日期的日期?

PHP
天涯盡頭無女友 2023-03-04 16:33:51
我想要得到的是刪除 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);


查看完整回答
反對 回復 2023-03-04
  • 1 回答
  • 0 關注
  • 149 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號