J'essaie de savoir si un tableau est répertorié ou non dans un tableau. J'essaie d'ajouter un nom de produit et une url à une session, la session contiendra tous les produits visités par un visiteur, mais je ne veux pas qu'elle ajoute deux fois le même produit, d'où la validation. Donc, si le produit est déjà dans le tableau, je veux qu'il ne fasse rien, mais s'il n'appartient pas déjà au tableau, il doit être ajouté. C'est aussi loin que je suis allé jusqu'ici. Le seul problème semble être la validation.Vérification de la présence d'un tableau dans un tableau
$viewed_product_url = $viewed_base.$_SERVER['REQUEST_URI'];
if(!isset($_SESSION['products'])) {
$_SESSION['products'] = array('product'=>$products_name,'url'=>$viewed_product_url);
} else {
$found = false;
foreach($_SESSION['products'] as $each_item) {
while(list($key,$value)=each($each_item)) {
if($key == 'product' && $value == $products_name) {
$found = true;
}
}
}
if($found==false){
echo 'found';
$_SESSION['products'][] = array('product'=>$products_name,'url'=>$viewed_product_url);
}
}
ce sont les erreurs que je reçois
Attention: variable transmise à chaque() ne sont pas un tableau ou un objet dans C: \ xampp \ htdocs \ clients \ MSL \ product.php sur la ligne 10
Attention: variable passée à chaque() n'est pas un tableau ou un objet dans C: \ xampp \ htdocs \ clients \ MSL \ product.php sur la ligne 10 trouvé
Je veux juste savoir comment vous peut vérifier si un tableau est déjà dans un tableau multivarié. Ou s'il y a d'autres alternatives pour réaliser ce que je veux ici.
Vous traitez '$ _SESSION [ 'produits']' comme un tableau à 2 dimensions. Mais quand vous l'initialisez, c'est juste un tableau associatif à 1 dimension. – Barmar