【发布时间】:2012-12-12 18:06:44
【问题描述】:
我的以下代码未按预期返回。我希望最终结果是一个字符串:
$organizers = array_unique($organizers); // this returns correctly
$organizers = implode(', ', $organizers); // this returns nothing
var_dump($organizers); // no data appears here
exit;
array_unique() 函数正确返回数据,我可以看到它返回的数组。首先,$organizers 数组是一个简单的一维字符串数组,所有字符串的长度都小于 20 个字符。我认为问题可能在于$organizers 的索引长度超过 10,000 个。可以内爆的数组的长度是否有限制?有解决办法吗?我在手册中找不到任何东西,但我已经彻底测试了这段代码,我相信错误一定是在implode()。
【问题讨论】:
-
在您的
implode()之后添加一些调试输出。你只是内存不足吗?你有登录错误吗? -
@jakenoble,PHP 将字符串视为二进制数据。 “奇数字符”与 PHP 字符串函数无关。
-
我运行这个没有问题:ideone.com/CYNcAy(它是一个包含 15000 个元素的数组,每个元素都是一个正好有 23 个字符的字符串)
-
我将 NullUserException 的测试推向了一个更大的极端:100,000 个元素,每个元素为 32 个字符,there was no limitation。
-
@nick 我喜欢
$entry = 'some small string under 20 chars'32 个字符的长度 :)
标签: php arrays string implode array-unique