Javascript 如何使用PHP或JS从cookie字符串中获取特定值?
我使用的插件在一个字符串中存储多个值 var_dump如下所示:Javascript 如何使用PHP或JS从cookie字符串中获取特定值?,javascript,php,string,cookies,Javascript,Php,String,Cookies,我使用的插件在一个字符串中存储多个值 var_dump如下所示: {\"strict\":\"0\",\"thirdparty\":\"1\",\"advanced\":\"0\"} 例如,我需要检查“advanced”是否为真 用php做这件事会很好,JS也会很好。问题得到解决,并按预期工作。 $jsIn = '{\"strict\":\"0\",\"thirdparty\":\"1\",\"advanced\":\"0\"} '; $jsOut = json_decode
{\"strict\":\"0\",\"thirdparty\":\"1\",\"advanced\":\"0\"}
例如,我需要检查“advanced”是否为真
用php做这件事会很好,JS也会很好。
问题得到解决,并按预期工作。
$jsIn = '{\"strict\":\"0\",\"thirdparty\":\"1\",\"advanced\":\"0\"} ';
$jsOut = json_decode(stripslashes($jsIn));
因此,首先我们用stripslashes()去掉字符串中的反斜杠,该字符串是这个cookie的值,在wordpress中使用wp\u unslash()。在json_decode()之后,我们可以访问(在本例中)三个项目(strict、thirdparty、advanced),它们的值可以是0或1。
现在,在var\u dump()中,每个项目在实际值之前包含字符串(1)
string(1) "1"
string(1) "0"
尽管如此,IF语句仍按预期工作
$input = json_decode( stripslashes( $_COOKIE['some-cookie'] ), true );
$thirdparty = $input['thirdparty'];
$advanced = $input ['advanced'];
var_dump( $thirdparty );
echo "<br>";
var_dump( $advanced );
echo "<br>";
if ($thirdparty > 0) {
echo "allowed";
} else {
echo "not allowed";
}
echo "<br>";
if ($advanced > 0) {
echo "allowed";
} else {
echo "not allowed";
}
$input=json\u decode(stripslashes($\u COOKIE['some-COOKIE']),true);
$thirdparty=$input['thirdparty'];
$advanced=$input['advanced'];
var_dump(第三方);
回声“
”;
var_dump(高级);
回声“
”;
如果($thirdparty>0){
回声“允许”;
}否则{
回声“不允许”;
}
回声“
”;
如果($advanced>0){
回声“允许”;
}否则{
回声“不允许”;
}
非常感谢所有…var\u dump()
输出反斜杠?尝试$array=json\u decode($json,true)代码>(一旦去掉转义反斜杠)是的,这是完整的输出。我用stripslashes()去掉了反斜杠,现在我用$cookie\u exampleData\u decoded=json\u decode($cookie\u exampleData,true)实现了这一点
var_dump()array(3){[“strict”]=>string(1)“0”[“thirdparty”]=>string(1)“1”[“advanced”]=>string(1)“0”}
您的答案可能是正确的,但一个解释将有助于其他读者。要了解更多信息,请阅读您的代码作为答案可能是正确的,但详细说明您的代码的作用,它可以提高您答案的质量。签出文章:你的答案可能是正确的,但是一个解释会帮助其他读者。欲了解更多信息,请阅读
$input = json_decode( stripslashes( $_COOKIE['some-cookie'] ), true );
$thirdparty = $input['thirdparty'];
$advanced = $input ['advanced'];
var_dump( $thirdparty );
echo "<br>";
var_dump( $advanced );
echo "<br>";
if ($thirdparty > 0) {
echo "allowed";
} else {
echo "not allowed";
}
echo "<br>";
if ($advanced > 0) {
echo "allowed";
} else {
echo "not allowed";
}