我正在尝试验证数组中是否列出了数组。我正在尝试将产品名称和 url 添加到会话中,会话将包含访问者访问的所有产品,但我不希望它两次添加相同的产品,因此需要验证。因此,如果产品已经在数组中,我希望它什么都不做,但如果它不属于数组,则需要添加它。这是我到目前为止所获得的。唯一的问题似乎是验证。
$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() 的变量不是第 10 行 C:\xampp\htdocs\customers\msl\product.php 中的数组或对象
所以我只想知道如何检查一个数组是否已经在一个多元数组中。或者,如果有任何其他选择来实现我想要的。