Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php unserialize()在简单情况下不起作用_Php_Serialization - Fatal编程技术网

Php unserialize()在简单情况下不起作用

Php unserialize()在简单情况下不起作用,php,serialization,Php,Serialization,我相信这是显而易见的,但我没有运气——也许我离它太近了 $test_serialized = 'a:6:{i:2163358797;s:10:"2163358797";i:4158022510;s:10:"4158022510";i:5196622470;i:0;i:4159851240;i:0;i:9157786595;i:0;i:2169312666;i:0;}'; $test_unser = unserialize($test_serialized); 应为:$test\u un

我相信这是显而易见的,但我没有运气——也许我离它太近了

  $test_serialized = 'a:6:{i:2163358797;s:10:"2163358797";i:4158022510;s:10:"4158022510";i:5196622470;i:0;i:4159851240;i:0;i:9157786595;i:0;i:2169312666;i:0;}';
  $test_unser = unserialize($test_serialized);
应为:$test\u unser是一个数组
实际值:$test\u unser设置为bool:0


我在unserialize.com上测试了它,它可以正常工作,但在我的代码中不起作用。(php版本5.3.29)

我刚刚测试过,它对我有效(在上)。你确定这是一个bool:0吗?
var\u dump($test\u unser)的结果是什么?如果进行此测试,会发生什么:获取阵列,对其进行编码并立即解码。这样行吗?如果你的字符串在上面的例子中有可能被改变…Thx Niols--我在调试器中查看它,调试器将它显示为bool,并且在完整代码中,函数is_array()在条件语句中的计算结果为false。这是在Drupal上的一个模块中运行的,我想知道这是否是php配置问题?(arkascha:我下一步会尝试你的建议——我是php新手,所以我发现这不起作用,现在我正在试图找出原因)好的,刚刚尝试了arkascha的测试,结果非常好:$test1=array(1=>“foo”,2=>“bar”,)$test1_ser=serialize($test1)$test1_unser=未序列化($test1_ser);尝试重新创建上面示例中的数组并执行串行/非串行测试。好的,当我尝试重新创建数组时,密钥(电话号码)变为负数(因此2163358797变为-2131608499)。我不知道为什么开发人员使用电话号码作为键和值,但这就是问题所在。这可能是问题所在吗?有没有简单的方法来解决这个问题?(允许较大整数的配置设置?)