检查$ _COOKIE的内容是否有字符串

时间:2017-03-04 08:21:33

标签: php

当我运行var_dump($_COOKIE)时,我得到以下输出:

array(9) {
    ["wordpress_test_cookie"] => string(15)
    "WP Cookie check" 
    ["wp-postpass_299da1fd9cb967a93782c5397fa3a35e"] => string(34)
    "$P$BXtsZ0i1qom3bqiFk4b9GeG8l9dFVG." 
}

我想检查$_COOKIE的内容是否存在wp-postpass_元素。

我试过了: if(strpos($_COOKIE,'wp-postpass_') === 0) {但这没有用。

我哪里错了?

谢谢

3 个答案:

答案 0 :(得分:3)

if(isset($_COOKIE)){
    foreach($_COOKIE as $key=>$val){
        if(strpos($key,'wp-postpass_') === false) {
        //not found
        }else{
        //found
        }
    }
}

答案 1 :(得分:1)

strpos不适用于数组。你应该扫描所有数组元素并查找字符串。

答案 2 :(得分:0)

试试这个

<?php
    function searchCookie( $name )
    {
        foreach( $_COOKIE as $key => $value ){
            if( inString( $key, $name ){
                    return $value;
            }
        }

        return null;
    }

    function inString( $str, $search )
    {
        return str_replace( $search , '' , $str ) != $str;
    }

    $cookie = searchCookie( 'wp-postpass' );

    if( $cookie == null ){
        echo 'Cookie not found :(';
    }
    else{
        echo $cookie;
    }