recherche

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

php - À propos de la modification de la valeur spécifiée pour chaque petit tableau dans un tableau à deux chiffres sans utiliser de boucle

Disons que j'ai un tableau 2D :

$a = [
    '0' => [
        'a' => '11',
        'b' => '22',
        'c' => '33'
    ],
    '1' => [
        'a' => '44',
        'b' => '55',
        'c' => '66'
    ],
    ...
];

Pour un tel tableau, je souhaite changer toutes les valeurs de « b » en « 99 » sans utiliser de boucle. Comment puis-je y parvenir ?

J'y ai réfléchi longtemps, mais je n'en avais aucune idée.

ringa_leeringa_lee2771 Il y a quelques jours875

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

  • PHPz

    PHPz2017-05-27 17:45:55

    Non, et cela n'a aucun sens.
    Quoi qu’il en soit, vous devez boucler déguisé pour réaliser la traversée.

    répondre
    0
  • phpcn_u1582

    phpcn_u15822017-05-27 17:45:55

    $a=array_map($a,function($val){
        $val['b']=99;
        return $val;
    })

    répondre
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-27 17:45:55

    Changez pour une autre méthode, même si vous n'avez pas besoin de boucles, alors cette méthode doit également utiliser des boucles

    AlorsChangez la soupe mais pas les médicaments

    répondre
    0
  • PHPz

    PHPz2017-05-27 17:45:55

    L'ordre à l'étage est foiré. Cela devrait être array_map(function,$arr);
    En fait, ce que vous avez dit à l'étage est correct. Les fonctions intégrées doivent parcourir l'ensemble du tableau. résoudre ton problème ?

    $a=array_map(function($val){
        $val['b']='99';
        return $val;
    },$a);

    répondre
    0
  • 伊谢尔伦

    伊谢尔伦2017-05-27 17:45:55

    L'ennui, ne pas comprendre la situation dans son ensemble, s'accrocher aux détails. Alors je m'ennuie aussi, haha

        $arr = [
            '0' => [
                'a' => '11',
                'b' => '22',
                'c' => '33'
            ],
            '1' => [
                'a' => '44',
                'b' => '55',
                'c' => '66'
            ]
        ];
        
        $arr   = json_encode($arr);
        
        $match = preg_replace('/"b":"(.+?)"/', '"b":"99"', $arr);
        
        var_dump(json_decode($match, true));

    répondre
    0
  • 天蓬老师

    天蓬老师2017-05-27 17:45:55

    Convertir en chaîne + correspondance régulière et remplacer ?

    répondre
    0
  • Annulerrépondre