-1

我有这个表示搜索引擎返回的每个页面的传出链接的二维数组,现在我必须找到每个页面的入站链接数。

例如 1 存在于 key2,3,4,5,6 的子数组中,因此其入站数将为 5。

我在 PHP 中需要这个。

$links = array( 
        1 => array(2,3,4,5,6),
        2 => array(1,3,4,5,6),
        3 => array(1,2,4,5,6),
        4 => array(1,2,3,5,6),
        5 => array(1,2,3,4,6),
        6 => array(1,2,3,4,5),
        7=> array (11),
        8=>array(7,9),
        9=> array(7),
        10=> array(8),
        11=> array(8,10),

);
4

1 回答 1

1

可能是一种更清洁的方法,但一种方法是创建一个新数组,遍历现有数组,然后使用该值作为键添加到新数组中。

$results=array();
foreach($links as $link){
    foreach($link as $value){
        $results[$value] = isset($results[$value]) ? $results[$value]+1 : 1;
    }
}

使用您的示例数据,您的结果将如下所示 -

Array ( 
    [1] => 5 
    [2] => 5 
    [3] => 5 
    [4] => 5 
    [5] => 5 
    [6] => 5 
    [7] => 2 
    [8] => 2 
    [9] => 1 
    [10] => 1 
    [11] => 1
)
于 2015-05-12T04:01:28.417 回答