recherche

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

PHP détermine si un tableau à deux dimensions stocke la même valeur ?

  1. Déterminez si les tableaux sont identiques en fonction de plusieurs clés

  2. Dans la même ligne, additionnez les valeurs

  3. C'est mon idée. Rassemblez les clés et utilisez-les comme une seule clé. Ensuite, vous pouvez juger sur la base d'une seule clé ?

    <?php
    
    $test = [
        [
            'name' : 'a',
            'age' : 12,
            'number' : 11,
            'score' : 50,
        ],
        [
            'name' : 'a',
            'age' : 12,
            'number' : 11,
            'score' : 30,
        ],
        [
            'name' : 'b',
            'age' : 12,
            'number' : 12,
            'score' : 50,
        ],
    ]
  4. Par exemple, pour un tableau comme celui-ci, vérifiez s'il est répété en fonction de l'âge du numéro de nom. S'il est répété, additionnez les scores.
过去多啦不再A梦过去多啦不再A梦2827 Il y a quelques jours733

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

  • 滿天的星座

    滿天的星座2017-05-27 17:45:19

    Merci pour l'invitation !

        <?php
    
        $test = [
            [
                'name'   => 'a',
                'age'    => 12,
                'number' => 11,
                'score'  => 50,
            ],
            [
                'name'   => 'a',
                'age'    => 12,
                'number' => 11,
                'score'  => 30,
            ],
            [
                'name'   => 'b',
                'age'    => 12,
                'number' => 12,
                'score'  => 50,
            ]
        ];
        
        $arr = array();
        foreach($test as $val) {
            $key = $val['name'] . '-' . $val['age'] . '-' . $val['number'];
            $arr[$key]['name']    = $val['name'];
            $arr[$key]['age']     = $val['age'];
            $arr[$key]['number']  = $val['number'];
            $arr[$key]['score']  += $val['score'];
        }
        
        var_dump("<pre>", array_values($arr));die;

    répondre
    0
  • 世界只因有你

    世界只因有你2017-05-27 17:45:19

    Frère, je t'ai écrit la méthode la plus simple pour enlever des poids, prends-la et utilise-la.

    function uniqueArr($arr){
        $returnArr=[];
        
        //分隔符
        $separator="~!#!!#~#!!";
        //排序
        sort($arr);
        
        //去重
        foreach($arr as $value){
            $k=$value['name'].$separator.$value['number'].$separator.$value['age'];
            $returnArr[$k]=[
                'name'=>$value['name'],
                'number'=>$value['number'],
                'age'=>$value['age']
            ];//这里是去重
            $returnArr[$k]['score']+=$value['score'];//这里是累加
        }
        return $returnArr;
    }

    répondre
    0
  • Annulerrépondre