久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

如何通過(guò)僅從與第一個(gè)數(shù)組具有相同鍵的第二個(gè)

How to merge two arrays by taking over only values from the second array that has the same keys as the first one?(如何通過(guò)僅從與第一個(gè)數(shù)組具有相同鍵的第二個(gè)數(shù)組中接管值來(lái)合并兩個(gè)數(shù)組?) - IT屋-程序員軟件開(kāi)
本文介紹了如何通過(guò)僅從與第一個(gè)數(shù)組具有相同鍵的第二個(gè)數(shù)組中接管值來(lái)合并兩個(gè)數(shù)組?的處理方法,對(duì)大家解決問(wèn)題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧!

問(wèn)題描述

限時(shí)送ChatGPT賬號(hào)..

我想合并兩個(gè)數(shù)組:

$filtered = array(1 => 'a', 3 => 'c');
$changed = array(2 => 'b*', 3 => 'c*');

而合并應(yīng)包括 $filtered 的所有元素和 $changed 的所有元素,這些元素在 $filtered 中有相應(yīng)的鍵:

Whereas the merge should include all elements of $filtered and all those elements of $changed that have a corresponding key in $filtered:

$merged = array(1 => 'a', 3 => 'c*');

array_merge($filtered, $changed) 也會(huì)將 $changed 的附加鍵添加到 $filtered 中.所以不太合適.

array_merge($filtered, $changed) would add the additional keys of $changed into $filtered as well. So it does not really fit.

我知道我可以使用 $keys = array_intersect_key($filtered, $changed) 來(lái)獲取兩個(gè)數(shù)組中存在的鍵,這已經(jīng)完成了一半的工作.

I know that I can use $keys = array_intersect_key($filtered, $changed) to get the keys that exist in both arrays which is already half of the work.

但是我想知道是否有任何(本機(jī))函數(shù)可以將 $changed 數(shù)組減少為具有 array_intersect_key 指定的 $keys 的數(shù)組?我知道我可以使用帶有回調(diào)函數(shù)的 array_filter 并檢查其中的 $keys,但可能還有其他一些純本機(jī)函數(shù)來(lái)僅從數(shù)組中提取那些元素可以指定鍵嗎?

However I'm wondering if there is any (native) function that can reduce the $changed array into an array with the $keys specified by array_intersect_key? I know I can use array_filter with a callback function and check against $keys therein, but there is probably some other purely native function to extract only those elements from an array of which the keys can be specified?

我這么問(wèn)是因?yàn)樵瘮?shù)通常比帶有回調(diào)的 array_filter 快得多.

I'm asking because the native functions are often much faster than array_filter with a callback.

推薦答案

如果我正確理解你的邏輯,應(yīng)該這樣做:

This should do it, if I'm understanding your logic correctly:

array_intersect_key($changed, $filtered) + $filtered

<小時(shí)>

實(shí)施:

$filtered = array(1 => 'a', 3 => 'c');
$changed = array(2 => 'b*', 3 => 'c*');
$expected = array(1 => 'a', 3 => 'c*');    
$actual = array_key_merge_deceze($filtered, $changed);

var_dump($expected, $actual);

function array_key_merge_deceze($filtered, $changed) {
    $merged = array_intersect_key($changed, $filtered) + $filtered;
    ksort($merged);
    return $merged;
}

輸出:

Expected:
array(2) {
  [1]=>
  string(1) "a"
  [3]=>
  string(2) "c*"
}

Actual:
array(2) {
  [1]=>
  string(1) "a"
  [3]=>
  string(2) "c*"
}

這篇關(guān)于如何通過(guò)僅從與第一個(gè)數(shù)組具有相同鍵的第二個(gè)數(shù)組中接管值來(lái)合并兩個(gè)數(shù)組?的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

【網(wǎng)站聲明】本站部分內(nèi)容來(lái)源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問(wèn)題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請(qǐng)聯(lián)系我們刪除處理,感謝您的支持!

相關(guān)文檔推薦

Add programmatically a downloadable file to Woocommerce products(以編程方式將可下載文件添加到 Woocommerce 產(chǎn)品)
Get today#39;s total orders count for each product in Woocommerce(獲取今天 Woocommerce 中每種產(chǎn)品的總訂單數(shù))
Add Custom registration fields in WooCommerce and phone field validation issue(在 WooCommerce 和電話字段驗(yàn)證問(wèn)題中添加自定義注冊(cè)字段)
Add a select field that will change price in Woocommerce simple products(在 Woocommerce 簡(jiǎn)單產(chǎn)品中添加一個(gè)將更改價(jià)格的選擇字段)
Add custom columns to admin products list in WooCommerce 3(在 WooCommerce 3 中將自定義列添加到管理產(chǎn)品列表)
Customizing checkout quot;Place Orderquot; button output html(自定義結(jié)帳“下訂單按鈕輸出html)
主站蜘蛛池模板: 国产操操操| 亚洲黄色网址 | 一级黄色在线观看 | 一级做a视频 | 欧美视频久久 | 18精品爽国产白嫩精品 | 日韩精品久久久久久久酒店 | 黄色小视频免费在线观看 | 一级黄片毛片 | 国产精品久免费的黄网站 | 黄色一级视频在线观看 | 国产一级黄色 | 欧美狠狠干 | 色综合久久久久 | 精品久久影院 | 精品综合网 | 日韩av免费播放 | 国产区视频在线观看 | 精品免费| 成人网在线 | 国产福利网 | 国产精品手机在线观看 | www四虎影院 | 国产91免费 | 国产理论在线 | 特级淫片裸体免费看 | 免费看黄色录像 | 特级西西444www大胆免费看 | 天天爽夜夜爽夜夜爽精品视频 | 久久精品欧美 | 亚洲黄色三级 | av一区二区三区在线观看 | 欧美中文字幕在线观看 | 日韩免费一区二区 | 国产黄av | 久久网av| 成人一级视频 | 日韩美女一区 | 国产wwwwww| 色爱综合区 | 91在线看片 |