recherche

Maison  >  Questions et réponses  >  le corps du texte

php - Comment rechercher et récupérer les données souhaitées dans un tableau

1. Par exemple, j'ai un tas de tableaux comme suit :

Array
(
    [0] => Array
        (
            [gid] => 1
            [cid] => pc001
            [class] => 办公用品
            [name] => 笔记本电脑
            [type] => Acer Aspire E1-410G
            [unit] => 台
            [num] => 1
            [price] => 
            [amount] => 
            [invoice] => 
            [bremarks] => 
            [bid] => 
        )

    [1] => Array
        (
            [gid] => 2
            [cid] => pc002
            [class] => 办公用品
            [name] => 笔记本电脑
            [type] => Acer Aspire E5-571G-58WT
            [unit] => 台
            [num] => 2
            [price] => 
            [amount] => 
            [invoice] => 
            [bremarks] => 
            [bid] => 
        )

    [2] => Array
        (
            [gid] => 4
            [cid] => wf123
            [class] => 办公用品
            [name] => 鼠标
            [type] => 罗技M90
            [unit] => 个
            [num] => 3
            [price] => 
            [amount] => 
            [invoice] => 
            [bremarks] => 
            [bid] => 
        )

    [3] => Array
        (
            [gid] => 6
            [cid] => wf012
            [class] => 办公用品
            [name] => 电脑键盘
            [type] => PS接口
            [unit] => 个
            [num] => 4
            [price] => 
            [amount] => 
            [invoice] => 
            [bremarks] => 
            [bid] => 
        )

)

2. Les conditions de recherche sont les suivantes : gid est égal au tableau suivant

Array
(
    [0] => 3
    [1] => 4
    [2] => 5
)

3. Comment puis-je obtenir les données avec gid=3, 4 et 5 ?
Une seule des données ci-dessus doit répondre aux exigences, aidez-nous s'il vous plaît~

给我你的怀抱给我你的怀抱2732 Il y a quelques jours718

répondre à tous(3)je répondrai

  • PHP中文网

    PHP中文网2017-06-05 11:11:37

    foreach($arr_1 comme $val){

    if(in_array($val['gid'],$arr_2)){
        $data[] = $val;    
    }

    }
    print_r($données);

    répondre
    0
  • PHPz

    PHPz2017-06-05 11:11:37

     function searchdata($data,$key,$value) {
                $result = array();
                foreach($data as $dval) {
                    if(!isset($dval[$key])) {
                        continue;
                    }
                    if(is_array($value)) {
                        if(in_array($dval[$key], $value)) {
                            $result[] = $dval;
                        }
                    } else {
                        if(($dval[$key] == $value)) {
                            $result[] = $dval;
                        }
                    }
                }
                searchdata($data,'gid',array(3,4,5));

    répondre
    0
  • 漂亮男人

    漂亮男人2017-06-05 11:11:37

    $old = array(
        array(
            'gid'=> 1,
            'name'=> 'xx1'
        ),  
        array(
            'gid'=> 2,
            'name'=> 'xx2'
        ),  
        array(
            'gid'=> 4,
            'name'=> 'xx4'
        ),  
        array(
            'gid'=> 6,
            'name'=> 'xx6'
        ),  
    );
    $exist_gids = array_flip(array_column($old, 'gid'));
    $condition_gids = array(3, 4, 5);                                                                                                                                                     
    $new = array();
    foreach ($condition_gids as $gid) {
        if (isset($exist_gids[$gid])) {
            $new[] = $old[$exist_gids[$gid]];
        }   
    }
    var_dump($new);

    répondre
    0
  • Annulerrépondre