我正在尝试使用此cookie - current=["1","2","4"] - 作为PHP中的可用数组。目前我可以回显这些值,但不能将它们用作数组。如何将这些值转换为可用的 PHP 数组?
$currentUsers = $_COOKIE['current'];
echo $currentUsers;
print_r(array_values($currentUsers));
$array = explode(",",$currentUsers);
Var_dump($array);
Echo $array[0]; // 1
Echo $array[1]; // 2
Echo $array[2]; // 4
编辑:不确定"
是否实际上是cookie值的一部分?
如果是,您可以使用str_replace('"', '', $currentUsers);
从值中删除 ",如果您在爆炸之前这样做。
编辑2:正如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
另一种解决方案,如果值始终是数字,如示例中所示:
preg_match_all("/('d+)/", $currentUsers, $array);
简单的一个衬里。如果总是数字
工作示例 http://www.phpliveregex.com/p/fuO
首先单击"全部匹配"按钮
使用 eval()
$current = [];
eval('$'.$currentUsers);
var_dump($current);
对于那些轻量级反对票的人,输出:
[root@mypc]# php test.php
array(3) {
[0]=>
string(1) "1"
[1]=>
string(1) "2"
[2]=>
string(1) "4"
}