根據(jù)數(shù)組二 含有的值 5 4 1 把上面的數(shù)組一不存在 key 不是 5 4 1的unset 求最簡(jiǎn)單寫(xiě)法。哈
// 數(shù)組一
array(6) {
[1] => string(12) "伊凡木門"
[2] => string(12) "夢(mèng)天木門"
[3] => string(15) "大自然地板"
[4] => string(12) "尚品宅配"
[5] => string(15) "德國(guó)都芳漆"
[6] => string(12) "左右沙發(fā)"
}
數(shù)組二
array(3) {
[0] => int(5)
[1] => int(4)
[2] => int(1)
}
我最後用下面的方法解決。如果大神們有更好的寫(xiě)法請(qǐng)不吝賜教
function get_vip_brand_list($uid = UID)
{
// 第一個(gè)數(shù)組
$brand_list = config('sales_brand');
// 第二個(gè)數(shù)組,反轉(zhuǎn)鍵和值
$node = array_flip(get_auth_node($uid,'sales.brand'));
// 比較兩個(gè)數(shù)組的鍵名,并返回交集
$vip_node = array_intersect_key($brand_list, $node);
return $vip_node;
}
可以利用array_diff系列的函數(shù)來(lái)操作,具體業(yè)務(wù)具體使用array_diff_key或assoc自己決定就可以了。
根據(jù)數(shù)組二 含有的值 5 4 1 把上面的數(shù)組一不存在 key 不是 5 4 1的unset 求最簡(jiǎn)單寫(xiě)法。哈
表示看不懂
<?php
$keys1 = array_keys($array1); // 獲取數(shù)組1key列表
$diffKeys = array_diff($keys1,$array2);// 結(jié)算數(shù)組1和數(shù)組2 key差集
foreach($diffKeys as $key){
unset($array1[$key]);
}
建立一個(gè)新的陣列用來(lái)存放你要保留的值。然後循環(huán)遍歷數(shù)組二,再用array_push函數(shù)把數(shù)組一中要保留的值push到新建的數(shù)組中。