Dans le développement PHP, les tableaux sont l'un des types de données les plus courants. Dans certains cas, nous pouvons avoir besoin de convertir un tableau ordinaire en objet tableau. Cet article explique comment réaliser cette opération.
La manière la plus courante de créer des objets tableau en PHP est d'utiliser la classe standard stdClass. Nous pouvons créer un objet tableau en instanciant stdClass.
$obj = new stdClass();
Ensuite, nous utiliserons la fonction PHP array_map(), qui peut appliquer une fonction de rappel à un tableau donné et renvoyer un nouveau tableau dont les éléments sont à chaque fois la fonction La valeur de retour de l'appel. Cette fonction est la clé de la façon dont nous procédons.
L'exemple de code est le suivant :
$arr = array( array('name' => '张三', 'age' => 23), array('name' => '李四', 'age' => 29), array('name' => '王五', 'age' => 26) ); $objArr = array_map(function($item){ $obj = new stdClass(); foreach ($item as $key => $val) { $obj->$key = $val; } return $obj; }, $arr);
Dans le code ci-dessus, nous définissons un tableau qui contient trois sous-tableaux, chaque sous-tableau contient un nom et un âge. Nous utilisons la fonction array_map() pour convertir chaque sous-tableau du tableau d'origine en un nouvel objet stdClass et placer l'objet dans le nouveau tableau. Dans la fonction de rappel, nous instancions un objet stdClass, attribuons les paires clé-valeur de chaque sous-tableau à cette nouvelle instance, puis renvoyons l'instance. Après avoir appelé la fonction array_map(), la variable $objArr obtenue est un tableau d'objets tableau, et chaque élément est un objet stdClass.
Une fois que nous avons réussi à convertir un tableau normal en un tableau d'objets tableau, nous pouvons également utiliser l'objet tableau comme un tableau normal. Par exemple, nous pouvons parcourir un objet tableau en utilisant une boucle foreach :
foreach ($objArr as $obj) { echo 'Name: ' . $obj->name . ', Age: ' . $obj->age . '<br>'; }
Dans le code ci-dessus, nous utilisons une boucle foreach pour parcourir chaque objet stdClass dans la variable $objArr, puis utiliser le nom de propriété de l'objet pour obtenir le valeur de la propriété de l'objet. Par conséquent, nous pouvons accéder aux données de l’objet tableau de la même manière qu’un tableau normal.
Cet article explique comment convertir un tableau normal en PHP en un tableau d'objets tableau. Nous avons utilisé la fonction array_map() pour y parvenir. En utilisant la classe stdClass pour instancier un nouvel objet tableau et en attribuant les paires clé-valeur du tableau d'origine à la nouvelle instance, nous obtenons finalement un tableau d'objets tableau. Une telle structure de données peut mieux organiser les données et faciliter leur utilisation dans divers scénarios.
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!