PHP每个网址只有一个结果

时间:2014-04-03 17:45:26

标签: php

我正在使用下面的代码但是虽然我有两次相同的域只有一个输出它在页面上回显。

$urls = array(
    'phpclasses.org' => 'phpclass',
    'phpclasses.org' => 'php',
    'php.com' => 'php'
);

$RankChecker=new RankChecker(1,5);

foreach($urls as $url => $keyword) {
    $result=$RankChecker->find($url,$keyword);

    if ($result!==false) {

        echo $url . " is found at page number  ".$result["page"].".";
        echo '<br>';

    } 
}

我需要能够多次使用相同的网址。

为什么这不能解决上面的代码?

2 个答案:

答案 0 :(得分:1)

您不能拥有两次相同key的数组。如果key不唯一,您将如何访问所需的值?

您需要为阵列尝试其他结构。

E.g

$urls = array(
    0 => array('url' => 'phpclasses.org', 'keyword' => 'phpclass'),
    1 => array('url' => 'phpclasses.org', 'keyword' => 'php'),
    2 => array('url' => 'php.com', 'keyword' => 'php')
);

然后你需要在循环中调用你的函数$result=$RankChecker->find($keyword['url'],$keyword['keyword']);

答案 1 :(得分:0)

您正在覆盖密钥'phpclasses.org'的值。做

$urls = array(
    'phpclasses.org' => 'phpclass',
    'phpclasses.org' => 'php'
);

基本相同
$urls = array(
    'phpclasses.org' => 'phpclass'
);
$urls['phpclasses.org'] = 'php';

最后,数组

中只有一个'phpclasses.org'键

考虑将其更改为多维数组,删除对键的依赖性