Problème de comparaison de tableau PHP non défini
三叔
三叔 2017-06-29 10:08:35
0
8
964

Selon la valeur 5 4 1 contenue dans le tableau 2, trouvez le moyen le plus simple de supprimer le tableau 1 ci-dessus qui n'existe pas et dont la clé n'est pas 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)
}
三叔
三叔

répondre à tous(8)
小葫芦

Je l'ai finalement résolu avec la méthode suivante. Si les maîtres ont une meilleure façon d'écrire, n'hésitez pas à m'éclairer

    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;
    }
Ty80

Vous pouvez utiliser les fonctions de la série array_diff pour fonctionner. Vous pouvez décider vous-même d'utiliser array_diff_key ou assoc pour l'entreprise spécifique.

世界只因有你

Selon la valeur 5 4 1 contenue dans le tableau 2, trouvez le moyen le plus simple d'écrire le non-set du tableau 1 ci-dessus qui n'existe pas et dont la clé n'est pas 5 4 1. Ha
veut dire je ne comprends pas

<?php
$keys1 = array_keys($array1); // 获取数组1key列表
$diffKeys = array_diff($keys1,$array2);// 结算数组1和数组2 key差集
foreach($diffKeys as $key){
    unset($array1[$key]);
}
typecho

Créez un nouveau tableau pour stocker les valeurs que vous souhaitez conserver. Parcourez ensuite le tableau deux, puis utilisez la fonction array_push pour pousser les valeurs à conserver dans le tableau un dans le tableau nouvellement créé.

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

Inversez d'abord le tableau 2, puis trouvez l'intersection. Je pense que votre solution est la bonne

.
扔个三星炸死你
foreach($arr2 as $value) {
    foreach($arr1 as $key => $val) {
        if($value == $key) {
            unset($arr1[$key]);
        }
    }
}
print_r($arr1);
学习ing

Vous pouvez en apprendre davantage sur la fonction array_slice

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal