Problem with Strpos In PHP

前端 未结 3 691
礼貌的吻别
礼貌的吻别 2020-12-21 06:07

I\'m writing a simple function and for some reason(probably a simple one) it\'s not working for me and I was wondering if you guys could help me out.

functio         


        
相关标签:
3条回答
  • 2020-12-21 06:36

    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.'.');
    
    0 讨论(0)
  • 2020-12-21 06:38

    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";
            }
        }
    
    0 讨论(0)
  • 2020-12-21 06:39

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

    $ID = (string)$postID;
    
    0 讨论(0)
提交回复
热议问题