Rumah > Soal Jawab > teks badan
Mengikut nilai 5 4 1 yang terkandung dalam tatasusunan 2, cari cara paling mudah untuk menyahset tatasusunan 1 di atas yang tidak wujud dan kuncinya bukan 5 4 1. Ha
// 数组一
array(6) {
[1] => string(12) "伊凡木门"
[2] => string(12) "梦天木门"
[3] => string(15) "大自然地板"
[4] => string(12) "尚品宅配"
[5] => string(15) "德国都芳漆"
[6] => string(12) "左右沙发"
}
数组二
array(3) {
[0] => int(5)
[1] => int(4)
[2] => int(1)
}
高洛峰2017-06-29 10:10:35
Saya akhirnya menyelesaikannya dengan kaedah berikut. Jika tuan mempunyai cara penulisan yang lebih baik, sila berikan pencerahan kepada saya
function get_vip_brand_list($uid = UID)
{
// 第一个数组
$brand_list = config('sales_brand');
// 第二个数组,反转键和值
$node = array_flip(get_auth_node($uid,'sales.brand'));
// 比较两个数组的键名,并返回交集
$vip_node = array_intersect_key($brand_list, $node);
return $vip_node;
}
PHP中文网2017-06-29 10:10:35
Anda boleh menggunakan fungsi siri array_diff untuk beroperasi Anda boleh memutuskan sendiri sama ada untuk menggunakan array_diff_key atau assoc untuk perniagaan tertentu.
世界只因有你2017-06-29 10:10:35
Mengikut nilai 5 4 1 yang terkandung dalam tatasusunan 2, cari cara paling mudah untuk menulis unset tatasusunan 1 di atas yang tidak wujud dan kuncinya bukan 5 4 1. Ha
maksudnya saya tak faham
<?php
$keys1 = array_keys($array1); // 获取数组1key列表
$diffKeys = array_diff($keys1,$array2);// 结算数组1和数组2 key差集
foreach($diffKeys as $key){
unset($array1[$key]);
}
typecho2017-06-29 10:10:35
Buat tatasusunan baharu untuk menyimpan nilai yang anda mahu simpan. Kemudian gelung melalui tatasusunan dua, dan kemudian gunakan fungsi array_push untuk menolak nilai yang akan dikekalkan dalam tatasusunan satu ke dalam tatasusunan yang baru dibuat.
大家讲道理2017-06-29 10:10:35
$arr1 = array(
1 => "伊凡木门",
2 => "梦天木门",
3 => "大自然地板",
4 => "尚品宅配",
5 => "德国都芳漆",
6 => "左右沙发"
);
$arr2 = array(5, 4, 1);
$keys = array_keys($arr1);
$remove = array_diff($keys, $arr2);
foreach ($remove as $key) {
unset($arr1[$key]);
}
var_dump($arr1);
某草草2017-06-29 10:10:35
First flip array 2, dan kemudian cari persimpangan saya rasa penyelesaian anda adalah yang betul
扔个三星炸死你2017-06-29 10:10:35
foreach($arr2 as $value) {
foreach($arr1 as $key => $val) {
if($value == $key) {
unset($arr1[$key]);
}
}
}
print_r($arr1);