以用户友好的格式打印关联数组

时间:2013-07-29 18:03:06

标签: php arrays

我的代码中有两个数组,我想在网页上打印出来,数组包含搜索引擎结果,这里是foreach循环的结构

此循环返回url,title,snippet和score

foreach ($js->RESULT as $item)
{   
    $blekkoArray[str_replace ($find, '', ($item->{'url'}))] = array(         
    'title'=> $item->{'url_title'},
    'snippet' => $item->{'snippet'},
    'score' => $score--
     );

}

此循环用于组合两个数组并创建排名列表

foreach($googleArray as $key=>$value)
{ 
    if(isset($combined[$key]))
    $combined[$key]["score"] += $value['score']; 
    else
    $combined[$key] = array("score"=>$value['score'],"title"=>$value["title"], "snippet"=>$value["snippet"]); 
}

我知道我可以使用print_r来打印数组,但它不是非常用户友好,我也希望将网址作为可点击链接,我们将非常感谢任何想法。

阵列打印出来

Array ( [red.com/] => Array ( [score] => 197 [title] => blah blah....[snippet] more blah blah ) 

数组([green.com/] =>数组([得分] => 196 [标题] =>等等等等。[摘要]更多等等等等)

所以我希望它看起来像传统的搜索引擎如何显示结果,我不需要显示分数

1 个答案:

答案 0 :(得分:0)

这是我之前在博客上找到的一项功能,对我有用。我不记得我发现它的位置,或者我会用它来信任它们。看看这是否符合你的需要。它可能不完美,但可以帮助您找到所需的键,然后您可以修改它以打印出您需要的键。通常使用数组我很难确定结构足以编写我的foreach循环,这有助于此。

function listArrayRecursive($array_name, $ident = 0){
if (is_array($array_name)){
    foreach ($array_name as $k => $v){
        if (is_array($v)){
            for ($i=0; $i < $ident * 10; $i++){ echo "&nbsp;"; }
            echo $k . " : " . " | ";
            listArrayRecursive($v, $ident + 1);
        }else{
            for ($i=0; $i < $ident * 10; $i++){ echo "&nbsp;"; }
            echo $k . " : " . $v . " | ";
        }
    }
}else{
    echo "Variable = " . $array_name;
}
}