Maison  >  Article  >  développement back-end  >  PHP peut-il extraire des éléments de tableaux multidimensionnels ?

PHP peut-il extraire des éléments de tableaux multidimensionnels ?

PHPz
PHPzoriginal
2023-04-26 14:23:40434parcourir

PHP est un langage de programmation côté serveur largement utilisé, flexible et facile à utiliser. En programmation PHP, nous devons souvent opérer sur des tableaux multidimensionnels. Par exemple, si un élément du tableau a plus d’une valeur, nous devons extraire sa valeur et l’utiliser. Alors, quelles sont les méthodes pour extraire des tableaux multidimensionnels en PHP ?

  1. Utiliser l'extraction de boucle

L'utilisation d'une boucle pour parcourir des tableaux multidimensionnels est une méthode courante. Elle peut parcourir tous les éléments et déterminer la position. de l'élément à extraire, puis stockez leurs valeurs dans un nouveau tableau ou variable. Par exemple, nous avons un tableau bidimensionnel comme suit :

$students = array(
    array('name' => 'Tom', 'age' => 20),
    array('name' => 'Lucy', 'age' => 22),
    array('name' => 'Sam', 'age' => 21)
);

Si vous souhaitez extraire l'âge de l'élève dont $name est 'Lucy', vous pouvez utiliser le code suivant : #🎜🎜 #

foreach($students as $student){
   if($student['name'] == 'Lucy'){
      $age = $student['age'];
      break;
   }
}
Dans le code ci-dessus, en parcourant le tableau $students, déterminez si $name est 'Lucy', et si c'est le cas, stockez le $age de l'étudiant dans la variable $age.

    Utiliser la fonction array_column pour extraire un tableau associatif
array_column() est très pratique lors de l'extraction d'un tableau associatif bidimensionnel. peut extraire directement un certain Le tableau de valeurs correspondant au nom de la clé est utilisé comme suit :

array_column($input, 'column_key');
Le paramètre $input est un tableau à deux dimensions, et 'column_key' représente le nom de la clé à être extrait. Pour extraire les noms des étudiants dans le tableau $students ci-dessus, vous pouvez utiliser le code suivant :

$names = array_column($students, 'name');
Dans le code ci-dessus, la fonction array_column() extrait les noms des étudiants du tableau $students et les stocke dans le tableau $names au milieu.

    Utilisez la fonction array_map pour extraire le tableau d'index
Pour extraire l'élément à la position spécifiée dans le tableau d'index, vous pouvez utiliser le Fonction array_map, qui applique la fonction de rappel spécifiée à chaque élément et renvoie un nouveau tableau. Par exemple, nous avons un tableau bidimensionnel $numbers qui contient plusieurs tableaux d'index :

$numbers = array(
    array(1, 3, 5),
    array(2, 4, 6),
    array(3, 5, 7)
);
Si vous souhaitez extraire le deuxième élément de chaque tableau, vous pouvez utiliser le code suivant :

$seconds = array_map(function($arr) {
    return $arr[1];
}, $numbers);
#🎜 🎜#Dans le code ci-dessus, une fonction anonyme est d'abord définie, qui reçoit un paramètre de tableau et renvoie le deuxième élément du tableau. Ensuite, via la fonction array_map, la fonction anonyme est appliquée à chaque élément du tableau $numbers, et le deuxième élément de chaque tableau est extrait et stocké dans le nouveau tableau $seconds.

Utilisez la fonction array_walk_recursive pour extraire des tableaux associatifs multidimensionnels
  1. Lorsque le tableau est plus complexe, ses éléments ont plusieurs paires clé-valeur, et les noms de clés ne sont pas uniques. Lors de l'utilisation de la fonction array_map, seul le premier élément du tableau est renvoyé. À ce stade, nous pouvons résoudre ce problème en utilisant la fonction array_walk_recursive, qui applique une fonction de rappel fournie par l'utilisateur à chaque élément du tableau multidimensionnel et l'extrait en fonction du nom de la clé. Par exemple :
$data = array(
    'a' => array(
        'b' => array(
            'c' => 10,
            'd' => 20
         ),
    ),
    'e' => array(
        'f' => 30
    )
);

$callback = function($value, $key) use(&$result){
    if($key == 'd'){
        $result[] = $value;
    }
};

array_walk_recursive($data, $callback);

Dans le code ci-dessus, la fonction array_walk_recursive() peut gérer des tableaux multidimensionnels à plusieurs niveaux lors de l'extraction de tableaux associatifs. Cette fonction reçoit deux paramètres : le tableau $data à parcourir et la fonction de rappel $callback. La fonction $callback extrait la valeur correspondant à la clé 'd' et la stocke dans le nouveau tableau $result.

Pour résumer, PHP propose une variété d'options flexibles pour extraire des tableaux multidimensionnels. Nous pouvons choisir d'utiliser des boucles, la fonction array_column(), la fonction array_map() ou la fonction array_walk_recursive() pour extraire les valeurs des tableaux multidimensionnels en fonction des besoins réels.

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