cari

Rumah  >  Soal Jawab  >  teks badan

Masalah tidak ditetapkan perbandingan tatasusunan PHP

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)
}
三叔三叔2745 hari yang lalu1001

membalas semua(8)saya akan balas

  • 高洛峰

    高洛峰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;
        }
    

    balas
    0
  • PHP中文网

    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.

    balas
    0
  • 世界只因有你

    世界只因有你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]);
    }

    balas
    0
  • typecho

    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.

    balas
    0
  • 大家讲道理

    大家讲道理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);

    balas
    0
  • 某草草

    某草草2017-06-29 10:10:35

    First flip array 2, dan kemudian cari persimpangan saya rasa penyelesaian anda adalah yang betul

    balas
    0
  • 扔个三星炸死你

    扔个三星炸死你2017-06-29 10:10:35

    foreach($arr2 as $value) {
        foreach($arr1 as $key => $val) {
            if($value == $key) {
                unset($arr1[$key]);
            }
        }
    }
    print_r($arr1);

    balas
    0
  • 学习ing

    学习ing2017-06-29 10:10:35

    Anda boleh belajar tentang fungsi array_slice

    balas
    0
  • Batalbalas