Devblog développement web, WordPress & WooCommerce

Rechercher dans un tableau multidimensionnel en PHP

R

En combinant deux fonctions PHP il est possible de réaliser très facilement une recherche dans un tableau PHP multidimensionnel. L’accès aux données recherchées se fait en 2 temps. D’abord via recherche de d’index numérique de l’élement correspondant à la recherche (via array_search) . Puis en accédant directement à l’élement grâce à cet index (le cas échéant). C’est grâce la fonction array_column que l’on pourra choisir la propriété sur laquelle chercher un élément du tableau principal.

Ainsi, en considérant un tableau PHP contenant des produits stockés sous forme de tableaux ayant – entre autres – comme propriété une référence de produit nommé « sku », il sera possible de trouver un produit en particuliers via son sku grâce au code suivant :


// Exemple de tableau de données / source des données dans laquelle chercher.
$products = [ [ 'sku' => 'SKU-1', 'price' => 2 ], [ 'sku' => 'SKU-2', 'price' => 3 ] ];
// Récupération de l'index numérique correspondant à l'élément recherché (ici on cherche le produit avec la propriété sku égale à 'SKU-1')
$index = array_search( 'SKU-1', array_column( $products, 'sku') );
// On peut désormais accéder au produit directement.
$product = $products[$index];

à noter que array_search renverra false si le produit n’a pas été trouvé ce qui permettra d’ajouter une logique conditionnelle à votre code, par exemple :


if( $index !== false ){
// le produit avec le sku 'SKU-1' existe
}else{
// le produit avec le sku 'SKU-1' n'existe pas
}

Devblog développement web, WordPress & WooCommerce

Articles récents

Catégories