欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php5.1.6情况下,出现RECURSION。求破!!!

程序员文章站 2024-01-18 20:20:22
...
$m = array('1');
$m['a'] = $m;
print_r($m);
die;
?>

这是简单的一个测试。输出的结果是
Array ( [0] => 1 [a] => Array *RECURSION* )

但是我想要的结果是:
Array ( [0] => 1 [a] => Array ( [0] => 1 ) )

应该改那个地方? 求大神解答

回复讨论(解决方案)

求大神解答 有人碰到过这问题吗?

没人理啊没人理么?

RECURSION 递归
当出现递归现象时 print_r 就是这样显示结果的
这是正确的,因为 print_r 只不过是调试用的,意思到了就行了

RECURSION 递归
当出现递归现象时 print_r 就是这样显示结果的
这是正确的,因为 print_r 只不过是调试用的,意思到了就行了


但是我把这个$m 拿去json_encode 的时候,就没有返回值了啊?

你的 php 版本太低,json_encode 出点错是正常的

php5.2.5 都不能处理这种情况
json_encode() [function.json-encode]: recursion detected

我的PHP Version 5.3.27输出结果正是Array ( [0] => 1 [a] => Array ( [0] => 1 ) )

你的 php 版本太低,json_encode 出点错是正常的

是php版本的问题。高版本的php我测试过。 是可以的。
我现在是php5.1.6 json_encode方法是自己加上去的。

多谢各路大神。
自己找到解决方案了

$m['a'] = (array) $m;