Problem with Strpos In PHP

做~自己de王妃 提交于 2019-11-29 15:25:20

Strpos won't work with an int, so you need to cast the ID to a string. Try this:

$ID = (string)$postID;

Note that if your cookie string looks like 123123.23422.234234.2342342.234234 and you are looking for an ID, say, 1231 or 23, your function would return TRUE while actually that ID is not in the list. Your current implementation of strpos() will also match partial numbers.

Here is a simple workaround that will require the ID to be surrounded by dots.

$position = strpos('.'.$cookie.'.', '.'.$ID.'.');

yes as Brock said Strpos wont work with an int so you have to cast the id. so need some change in your code.

function check_value($postID) 
    {
        $ID = $postID;
        $cookie = $_COOKIE['list_of_IDS'];
        $position = strpos($cookie,$ID);
        echo 'ID:'.$ID.'-Cookie:'.$cookie;
            if ($position !== false)
        {
                echo "ID is in the cookie";
        }
    }
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!