Php 使用复选框打印数组,需要值吗

Php 使用复选框打印数组,需要值吗,php,arrays,magento,checkbox,Php,Arrays,Magento,Checkbox,我有一个数组,其中有复选框 每个类别的复选框包含4个选项,您可以选择任意多个选项。我不知道如何在不序列化的情况下获取值。有人能帮我吗 我的数组看起来是这样序列化的: a:4:{i:0;s:1:"5";i:1;s:1:"6";i:2;s:1:"7";i:3;s:1:"8";} 因此,我只需要“”标记之间的值,如何获得这些值?您可以使用unserialize()进行尝试 您应该使用取消序列化 如果没有,请尝试以下方法: $str = 'a:4:{i:0;s:1:"5";i:1;s:1:"6";i:

我有一个数组,其中有复选框

每个类别的复选框包含4个选项,您可以选择任意多个选项。我不知道如何在不序列化的情况下获取值。有人能帮我吗

我的数组看起来是这样序列化的:

a:4:{i:0;s:1:"5";i:1;s:1:"6";i:2;s:1:"7";i:3;s:1:"8";}

因此,我只需要“”标记之间的值,如何获得这些值?

您可以使用unserialize()进行尝试


您应该使用
取消序列化

如果没有,请尝试以下方法:

$str = 'a:4:{i:0;s:1:"5";i:1;s:1:"6";i:2;s:1:"7";i:3;s:1:"8";}';
preg_match_all(  '/"(\d+)"/', $str, $matches );

print_r($matches[1]);

为什么不使用
取消序列化
?谢谢您的回答。不幸的是,当我这么做时:$sammensat=”“.print_r($matches[1])”;它只向我发送数字1
$matches[1]
是一个数组,您试图将其分配给字符串,因此它无法工作。要么使用
内爆
,要么在将数组赋给字符串之前从数组中获取所有值。我想我没有弄明白这一点$str='a:4:{i:0;s:1:5;i:1;s:1:6;i:2;s:1:7;i:3;s:1:8;}';preg_match_all(“/”(\d+)/“,$str,$matches)$sep=内爆(“,”,$matches)$字符串=“9月$9日”;因为它返回数组,arrayIN数组它看起来像这个数组([0]=>5[1]=>6[2]=>7[3]=>8)你必须做
$sep=introde(“,”,$matches[1])
$str = 'a:4:{i:0;s:1:"5";i:1;s:1:"6";i:2;s:1:"7";i:3;s:1:"8";}';
preg_match_all(  '/"(\d+)"/', $str, $matches );

print_r($matches[1]);