Здравствуйте, я создаю лучший вид продукта за последнее время на основе файлов cookie php. в первую очередь всякий раз, когда пользователь просматривает некоторые данные, поэтому я сохраняю cookie, как следует
//by Creating Manually array
$cookieArr = array("productid"=>$row_category[0],"views"=>1);
setcookie("myshopping", $cookieArr, time() + (8640000 * 30), "/");
Какой результат как следует
(
[productid] => 27
[views] => 1
)
Теперь, когда пользователь посещает другую страницу в качестве примера, если 35 number page, поэтому вывод должен быть похож на
(
[productid] => 27,35
[views] => 1,1
)
это не проблема, как это добавить. проблема в том, что мне нужно увеличить просмотр, если пользователь снова посетит ту же страницу. например, если пользователь снова посещает 27-ю страницу, поэтому массив должен понравиться. означает, что данные не добавляются, просто обновляются представления.
(
[productid] => 27,35
[views] => 2,1
)
я пробовал
foreach ($cookieArr as $key => $value) {
//Get all products
$allProdcutid = $cookieArr["productid"];
}
//than checking
if (in_array($myproductid, $cookieArr['productid'])){
echo "Avaibality";
}else{
echo "exit";
}
Это для демонстрации.






Взгляните на многомерные массивы ... https://www.w3schools.com/php/php_arrays_multi.asp
Вы можете сформировать свой массив файлов cookie, как показано ниже
(
[products] => [13=>array("views"=>1),27=>array("Views"=>4)]
)
тогда вы можете использовать array_key_exists в массиве продуктов, чтобы найти идентификатор продукта или добавить его.
Ниже приведен код php:
if (array_key_exists($myproductid,$cookie['products'])
{
$cookie['products'][$myproductid]['views']++;
}
else
{
$cookie['products'][$myproductid]=array('views'=>1);
}
Таким образом, вы можете позже добавить в свой массив продуктов другие свойства, кроме представлений ...
Это мой вопрос.!
Вам нужно сохранить свой массив с product_id в качестве ключа и представлениями в качестве значения. Например,
(
27 => 1,
37 => 2
)
При этом вам просто нужно проверить ключ массива и увеличить его значение.
Например, если пользователь посещает продукт с идентификатором 27.
Это должен быть комментарий
1. вы можете создать массив, как показано ниже: -
Array(
27=>1,
35=>1
)
С этим будет еще проще справиться. ключи - это производимые, а значения - сколько раз они посетили.
2. Или измените свой код, как показано ниже: -
<?php
$myproductid = 27;
$cookieArr= array(
'productid' => '27,35',
'views' => '1,1'
);
if (in_array($myproductid, explode(',',$cookieArr['productid']))){
$searched_key = array_search($myproductid,explode(',',$cookieArr['productid']));
$views_array = explode(',',$cookieArr['views']);
$views_array[$searched_key] +=1;
$cookieArr['views'] = implode(',',$views_array);
}else{
echo "exit";
}
print_r($cookieArr);
Выход: -https://eval.in/973605
Это действительно здорово .
почему значения, разделенные запятыми? почему бы не создать такой массив: -
( [productid] => array(27,35), [views] => array(27=>2,35=>1) ). легко обновлять или добавлять каждый раз