PHP搜索功能澄清

时间:2012-10-14 07:01:56

标签: php wordpress

我在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数组传递给它。

3 个答案:

答案 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。