Maison  >  Article  >  développement back-end  >  Comment modifier une valeur dans un tableau en php

Comment modifier une valeur dans un tableau en php

PHPz
PHPzoriginal
2023-04-19 11:37:541035parcourir

Dans le développement PHP, l'exploitation de tableaux est l'une des opérations souvent rencontrées. Lorsque vous utilisez un tableau, vous devez parfois modifier une valeur dans le tableau. Alors en PHP, comment modifier une valeur dans un tableau ? Ce qui suit vous le présentera en détail.

1. Utilisez une boucle for pour parcourir le tableau afin de modifier la valeur

La méthode la plus basique consiste à utiliser une boucle for pour parcourir le tableau et modifier la valeur qui doit être modifiée. L'implémentation spécifique est la suivante :

<?php
$arr = [1, 2, 3, 4, 5];
for($i = 0; $i < count($arr); $i++) {
    if($arr[$i] == 2) {
        $arr[$i] = 20;
    }
}
print_r($arr);
?>

Dans le code ci-dessus, nous définissons un tableau $arr contenant 5 éléments, puis parcourons le tableau à travers une boucle for et utilisons l'instruction if pour déterminer si l'élément est égal à 2. S'il est égal à 2, modifiez-le à 20. Enfin, nous appelons la fonction print_r() pour afficher le tableau modifié.

Il est à noter que cette méthode ne convient qu'à une seule valeur du tableau qui doit être modifiée. Si plusieurs valeurs doivent être modifiées, le tableau doit être parcouru plusieurs fois et l'efficacité deviendra relativement faible.

2. Utilisez la boucle foreach pour modifier les valeurs du tableau

En plus de la boucle for, nous pouvons également utiliser la boucle foreach pour parcourir le tableau et modifier la valeur. L'implémentation spécifique est la suivante :

<?php
$arr = [
    [&#39;name&#39; => 'Tom', 'age' => 18],
    ['name' => 'Lucy', 'age' => 20],
    ['name' => 'John', 'age' => 22],
];

foreach($arr as &$val) {
    if($val['name'] == 'Lucy') {
        $val['age'] = 21;
    }
}

print_r($arr);
?>

Dans le code ci-dessus, nous définissons un tableau bidimensionnel $arr contenant 3 éléments, où chaque sous-tableau contient deux paires clé-valeur : nom et âge. Nous pouvons utiliser une boucle foreach pour parcourir le tableau et utiliser une instruction if pour déterminer si name est égal à Lucy. S'il est égal à Lucy, modifiez son âge à 21 ans. Il convient de noter ici que nous utilisons le symbole & avant la variable de boucle $val, indiquant que $val est une référence, et modifier sa valeur modifiera directement la valeur dans le tableau d'origine.

3. Utilisez la fonction array_map() pour modifier la valeur du tableau

PHP fournit une fonction très pratique array_map(), qui peut exécuter une fonction de rappel pour chaque élément du tableau. Grâce à cette fonction, nous pouvons facilement modifier une valeur dans le tableau.

<?php
$arr = [1, 2, 3, 4, 5];
$arr = array_map(function($val) {
    if($val == 2) {
        return 20;
    }
    return $val;
}, $arr);
print_r($arr);
?>

Dans le code ci-dessus, nous avons appelé la fonction array_map() et passé la fonction anonyme comme premier paramètre. La fonction de cette fonction anonyme est de déterminer si l'élément est égal à 2. S'il est égal à 2, renvoie 20, sinon renvoie l'élément lui-même. Enfin, nous générons le tableau modifié.

4. Utilisez la fonction array_walk() pour modifier la valeur du tableau

Semblable à la fonction array_map(), PHP fournit également une autre fonction array_walk() pour appliquer une fonction définie par l'utilisateur à chaque élément du tableau. L'exemple spécifique est le suivant :

<?php
$arr = [
    [&#39;name&#39; => 'Tom', 'age' => 18],
    ['name' => 'Lucy', 'age' => 20],
    ['name' => 'John', 'age' => 22],
];

function changeAge(&$val, $key) {
    if($val['name'] == 'Lucy') {
        $val['age'] = 21;
    }
}

array_walk($arr, 'changeAge');
print_r($arr);
?>

Dans le code, nous définissons une fonction changeAge() pour déterminer si le nom du sous-tableau dans le tableau est égal à Lucy. S'il est égal à Lucy, modifiez son âge à 21 ans. Ensuite, nous appelons la fonction array_walk(), en passant changeAge() comme deuxième paramètre. Il convient de noter ici que le premier paramètre $val de la fonction changeAge() est un type référence, c'est-à-dire que modifier la valeur de $val modifiera directement la valeur dans le tableau d'origine.

Résumé :

Avec les quatre méthodes ci-dessus, nous pouvons facilement modifier une valeur dans le tableau. La méthode la plus appropriée doit être considérée en fonction de la situation réelle. Bien entendu, en plus des méthodes ci-dessus, il existe d'autres méthodes pour modifier les valeurs du tableau, comme l'utilisation de la fonction array_replace(), des cycles de référence, etc. N'oubliez pas que lors de la modification des valeurs du tableau, vous devez faire attention à l'exactitude de la logique pour éviter des conséquences inutiles.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn