配列が配列にリストされているかどうかを検証しようとしています。製品名と URL をセッションに追加しようとしています。セッションには訪問者がアクセスしたすべての製品が含まれますが、同じ製品を 2 回追加したくないため、検証が必要です。したがって、製品が既に配列に含まれている場合は何もしないでください。ただし、製品がまだ配列に属していない場合は、追加する必要があります。これは私がこれまでに得た限りです。唯一の問題は検証のようです。
$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);
}
}
これらは私が得ているエラーです
警告: each() に渡された変数は、10 行目の C:\xampp\htdocs\customers\msl\product.php の配列またはオブジェクトではありません
警告: each() に渡された変数は、C:\xampp\htdocs\customers\msl\product.php の 10 行目にある配列またはオブジェクトではありません
したがって、配列が既に多変量配列に含まれているかどうかを確認する方法を知りたいだけです。または、ここで私が望むものを達成するための他の選択肢がある場合。