我目前遇到了PHP的奇怪错误。我有这个功能:
public static function ksortRecursive(&$array, $sort_flags = SORT_REGULAR)
{
if (is_array($array) === false) {
return;
}
ksort($array, $sort_flags);
foreach ($array as &$arr) {
static::ksortRecursive($arr, $sort_flags);
}
}
当我在观察其内存使用情况时,看起来它会浪费大量内存。
echo convert(memory_get_usage(true)); //7.5 mb
myObject->ksortRecursive($workData);
echo convert(memory_get_usage(true)); //37.5 mb
所有内容都是通过引用传递的,因为我不知道通话后内存使用量会更大......
有人有想法吗?
编辑:我已经领导了一些测试,它看起来像" is_array"函数负责此内存泄漏...有人知道如何避免这种情况吗?