我试图使用这个cookie - current = [" 1"," 2"," 4"] - 作为一个可用的数组PHP。 目前我可以回显这些值,但不能将它们用作数组。我如何将这些值转换为可用的PHP数组?
$currentUsers = $_COOKIE['current'];
echo $currentUsers;
print_r(array_values($currentUsers));
答案 0 :(得分:1)
$array = explode(",",$currentUsers);
Var_dump($array);
Echo $array[0]; // 1
Echo $array[1]; // 2
Echo $array[2]; // 4
编辑:不确定"
是否实际上是Cookie值的一部分?
如果是,您可以使用str_replace('"', '', $currentUsers);
删除"如果你在爆炸之前就这样做了。
Edit2:正如Ash指出的那样,我错过了答案的一部分 这是完整的代码:
$str = substr(str_replace('"', '', $currentUsers),1,-1);
$array = explode(",",$str);
Var_dump($array);
Echo $array[0]; // 1
Echo $array[1]; // 2
Echo $array[2]; // 4
答案 1 :(得分:0)
另一种解决方案,如果值始终是数字,如示例所示:
preg_match_all("/(\d+)/", $currentUsers, $array);
简单的一个班轮。如果它总是数字
工作示例http://www.phpliveregex.com/p/fuO
点击preg匹配所有按钮
答案 2 :(得分:-3)
使用eval()
$current = [];
eval('$'.$currentUsers);
var_dump($current);
对于那些具有轻量级downvote的人,输出:
[root@mypc]# php test.php
array(3) {
[0]=>
string(1) "1"
[1]=>
string(1) "2"
[2]=>
string(1) "4"
}