第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

防止使用多重循環(huán)/PHP 的替代方法

防止使用多重循環(huán)/PHP 的替代方法

PHP
holdtom 2023-05-12 15:12:58
我試圖選擇 2(Two) 數組之間的差異。是的,我有一個使用循環(huán)的解決方案。但我認為這是一個大問題,因為使用太多循環(huán)會使過程變慢。我問是否有替代方法或簡單方法來處理相同的輸出。這是我的代碼$unique = [];$first_array =  [["SERIAL_NUMBER" => "1"]];$second_array = [["SERIAL_NUMBER" => "1"],["SERIAL_NUMBER" => "2"]];foreach ($second_array as $second) {    foreach($first_array as $first)    {        if($second['SERIAL_NUMBER'] == $first['SERIAL_NUMBER'])        {            continue 2;        }    }    $unique[] = $second;}foreach ($first_array as $first) {    foreach($second_array as $second)    {        if($first['SERIAL_NUMBER'] == $second['SERIAL_NUMBER'])        {            continue 2;        }    }    $unique[] = $first;}echo json_encode($unique);結果將是 2(two) 數組的差值。PS:這是基于多維數組的特定鍵(SERIAL_NUMBER)[{"SERIAL_NUMBER":"2"}]
查看完整描述

1 回答

?
富國滬深

TA貢獻1790條經驗 獲得超9個贊

不同之處在于,大多數事情都會使用某種循環(huán),即使您在代碼中看不到循環(huán),它也可能在內部完成。


此代碼使用array_udiff(), 主要是為了簡化代碼,而且因為它是一個多維數組 - 您不能只使用array_diff(). 該函數只是比較每個元素的 SERIAL_NUMBER 值。


這在每個方向上完成一次(1 => 2 和 2 => 1)然后合并結果......


function udiffCompare($a, $b)

{

    return $a['SERIAL_NUMBER'] <=> $b['SERIAL_NUMBER'];

}


$arrdiff1 = array_udiff($first_array, $second_array, 'udiffCompare');

$arrdiff2 = array_udiff($second_array, $first_array, 'udiffCompare');

$difference = array_merge($arrdiff1, $arrdiff2);


查看完整回答
反對 回復 2023-05-12
  • 1 回答
  • 0 關注
  • 177 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

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

公眾號

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