Php 检查$\u COOKIE的内容中是否有字符串
当我运行var_dump$\u COOKIE时,我得到以下输出:Php 检查$\u COOKIE的内容中是否有字符串,php,Php,当我运行var_dump$\u COOKIE时,我得到以下输出: array(9) { ["wordpress_test_cookie"] => string(15) "WP Cookie check" ["wp-postpass_299da1fd9cb967a93782c5397fa3a35e"] => string(34) "$P$BXtsZ0i1qom3bqiFk4b9GeG8l9dFVG." } 我想检查$_COOKIE的内容是否存在wp
array(9) {
["wordpress_test_cookie"] => string(15)
"WP Cookie check"
["wp-postpass_299da1fd9cb967a93782c5397fa3a35e"] => string(34)
"$P$BXtsZ0i1qom3bqiFk4b9GeG8l9dFVG."
}
我想检查$_COOKIE的内容是否存在wp-postpass_uu元素
我试过:
如果strpos$_COOKIE,'wp-postpass'==0{但这不起作用
我哪里做错了
谢谢您。strpos在数组上不起作用。您应该扫描所有数组元素并查找字符串。试试这个
if(isset($_COOKIE)){
foreach($_COOKIE as $key=>$val){
if(strpos($key,'wp-postpass_') === false) {
//not found
}else{
//found
}
}
}
<?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;
}
首先,strpos方法希望参数1是字符串而不是数组$\ COOKIE是数组你必须循环所有COOKIE并进行搜索。这是一个愚蠢的错误,不是吗?:-将在数组函数中进行调查。找到后做一些事情不是很好吗?太好了:-刚刚添加了一个else来覆盖“find”:绿色勾号会很快回答吗?妈谢谢你的时间,Bhaskar-非常感谢。祝你度过愉快的一天。我很高兴我的回答帮助了你