我在Stack Overflow上的another question中找到了这个函数,但我想澄清一些事情:
function sort_comments($ar)
{
$comments = array();
foreach($ar as $item)
{
if(is_null($item['parent_id'])) $comments[] = $item;
else
{
$parent_array = array_search_key($item['parent_id'],$comments,'id');
if($parent_array !== false) $comments[$parent_array]['replies'][] = $item;
}
}
return $comments;
}
有人可以解释传递给array_searched_key()的参数吗?我在php.net中搜索过这个函数但是没找到它。再一次,我对这些参数感到有点困惑,特别是为什么将$ comment数组传递给它。
答案 0 :(得分:0)
首先,这不是PHP核心功能。这是一个Wordpress功能,专门用于在显示时对注释进行排序。
但据我所知,有一个简单的解释:
First argument: the ID to search (the query)
Second argument: array to search in (the datas)
Third argument: the column to search in (in the array)
据我所知,就是这样。
答案 1 :(得分:0)
如果您链接了相关的StackOverflow线程,它会把事情放在上下文中。我的猜测是this implementation或类似的。该函数不是PHP的原生函数,如果不知道它的来源,则无法回答。
答案 2 :(得分:0)
我不认为这是在这种情况下使用的WordPress函数 - 我在WordPress codebase中唯一能找到此函数的地方只接受两个参数。
我认为他们指的是我在pastebin找到的另一个功能。不幸的是,作者没有提供描述参数的评论,但我们有:
$needle - a value to match inside the array of arrays being searched
$haystack - an array of arrays being searched
$haystackKey - the key within the inner arrays which we want to find in the array of arrays
$strict - if set to true (default false) then type matching is enforced
因此,如果键和数据对可以位于至少一个内部数组中,则该函数返回true,否则返回false。