Вопрос
Я пишу простую функцию, и по какой-то причине (возможно, простой) она не работает для меня, и мне было интересно, можете ли вы, ребята, помочь мне.
function check_value($postID)
{
$ID = $postID;
$cookie = Я пишу простую функцию, и по какой-то причине (возможно, простой) она не работает для меня, и мне было интересно, можете ли вы, ребята, помочь мне.
<*>
Пытаясь выяснить, в чем проблема, я поместил эту строку эха над оператором If, чтобы убедиться, что в переменных действительно есть что-то.
Моя проблема в том, что оператор IF никогда не печатается.
$ postID
- это число 123123
.
Строка $ cookie
обычно выглядит как 123123.23422.234234.2342342.234234
Спасибо за вашу помощь!
COOKIE['list_of_IDS'];
$position = strpos($cookie,$ID);
echo 'ID:'.$ID.'-Cookie:'.$cookie;
if ($position !== false)
{
echo "ID is in the cookie";
}
}
Пытаясь выяснить, в чем проблема, я поместил эту строку эха над оператором If, чтобы убедиться, что в переменных действительно есть что-то.
Моя проблема в том, что оператор IF никогда не печатается.
$ postID
- это число 123123
.
Строка $ cookie
обычно выглядит как 123123.23422.234234.2342342.234234
Спасибо за вашу помощь!
Решение
Strpos не будет работать с int, поэтому вам нужно преобразовать идентификатор в строку. Попробуйте это:
$ID = (string)$postID;
Другие советы
Обратите внимание, что если ваша строка cookie выглядит как 123123.23422.234234.2342342.234234
и вы ищете идентификатор, скажем, 1231
или 23
Ваша функция вернет TRUE
, хотя на самом деле этого идентификатора нет в списке. Ваша текущая реализация strpos ()
также будет соответствовать частичным числам.
Вот простой обходной путь, который потребует, чтобы идентификатор был окружен точками.
$position = strpos('.'.$cookie.'.', '.'.$ID.'.');
да, как сказал Брок, Strpos не будет работать с int, так что вам нужно разыграть id. так что нужно немного изменить свой код.
function check_value($postID)
{
$ID = $postID;
$cookie = да, как сказал Брок, Strpos не будет работать с int, так что вам нужно разыграть id.
так что нужно немного изменить свой код.
<*>COOKIE['list_of_IDS'];
$position = strpos($cookie,$ID);
echo 'ID:'.$ID.'-Cookie:'.$cookie;
if ($position !== false)
{
echo "ID is in the cookie";
}
}