Maison  >  Article  >  développement back-end  >  Comment obtenir un champ d'un tableau à deux dimensions dans le backend PHP

Comment obtenir un champ d'un tableau à deux dimensions dans le backend PHP

PHPz
PHPzoriginal
2023-04-20 13:48:061305parcourir

En PHP, les tableaux bidimensionnels sont généralement stockés sous la forme d'une collection de données associées. Pour ce type de structure de données, vous pouvez parcourir chaque élément du tableau, puis utiliser l'opérateur d'index de tableau pour accéder à la valeur de chaque élément. Si vous devez accéder uniquement à un champ spécifié, vous pouvez utiliser la fonction array_column() ou personnaliser une fonction de parcours.

1. Utilisez la fonction array_column()
La fonction array_column() peut obtenir la valeur d'un champ dans le tableau spécifié et la renvoyer sous la forme d'un nouveau tableau. La liste des paramètres est la suivante :

array_column(array $input, Mixed $column_key, Mixed $index_key = null) : array
Description du paramètre :

  • $input : obligatoire, pour obtenir le tableau multidimensionnel de champs.
  • $column_key : obligatoire, la valeur clé à renvoyer. Il peut s'agir d'une chaîne indiquant que la valeur de cette clé doit être renvoyée ; il peut également s'agir d'un nombre indiquant que la valeur de cet index doit être renvoyée.
  • $index_key : Facultatif, la colonne à utiliser comme clé du tableau renvoyé. Il peut s'agir d'une chaîne, indiquant que la valeur de cette colonne doit être utilisée comme clé ; il peut également s'agir d'un nombre, indiquant que la valeur de $column_key doit être utilisée comme clé.

L'exemple suivant montre comment utiliser la fonction array_column() pour obtenir le champ spécifié dans le tableau à deux dimensions :

// 二维数组
$data = array(
    array('id'=>1, 'name'=>'Alice', 'age'=>20),
    array('id'=>2, 'name'=>'Bob', 'age'=>23),
    array('id'=>3, 'name'=>'Charlie', 'age'=>25),
);
    
// 获取名字字段值
$names = array_column($data, 'name');
print_r($names); // 输出 ['Alice', 'Bob', 'Charlie']

// 获取id和名字作为键的新数组
$new_data = array_column($data, 'age', 'name');
print_r($new_data); //输出 ['Alice'=>20, 'Bob'=>23, 'Charlie'=>25]

2. Personnaliser une fonction de parcours
Si le champ à obtenir n'a pas de position fixe, ou vous devez personnaliser des opérations complexes. Vous pouvez personnaliser une fonction de parcours pour y parvenir. Voici un exemple de code pour une fonction de parcours :

// 自定义一个遍历函数
function get_field_from_array($data,$field){
    $result = array();
    foreach($data as $item){
        if(array_key_exists($field,$item)){
            $result[] = $item[$field];
        }
    }
    return $result;
}

// 二维数组
$data = array(
    array('id'=>1, 'name'=>'Alice', 'age'=>20),
    array('id'=>2, 'name'=>'Bob', 'age'=>23),
    array('id'=>3, 'name'=>'Charlie', 'age'=>25),
);

// 获取名字字段值
$names = get_field_from_array($data,'name');
print_r($names); //输出 ['Alice', 'Bob', 'Charlie']

// 获取id字段值
$ids = get_field_from_array($data,'id');
print_r($ids); //输出 [1, 2, 3]

Grâce aux deux méthodes ci-dessus, vous pouvez facilement obtenir la valeur de champ spécifiée dans le tableau à deux dimensions. Quelle que soit la méthode utilisée, vous devez vérifier si le format de tableau entrant répond aux exigences de la fonction afin d'éviter les erreurs et les exceptions causées par un format de tableau incorrect.

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