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


Print an assoicated array in a user friendly format

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

此循环返回url、标题、片段和分数

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来打印数组,但它对用户不太友好,我也想将URL作为可点击链接进行href设置,如有任何想法,我们将不胜感激。

阵列打印出

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

数组([green.com/]=>数组([score]=>196[title]=>等等……[sippet]更多等等)

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

的分数

这是我不久前在一个博客上发现的一个对我有用的函数。我不记得在哪里找到的,否则我会把它归功于他们。看看这是否能满足你的需要。它可能不完美,但可以帮助你找到你需要的密钥,然后你可以修改它来打印出你需要的东西。对于数组,我经常很难确定足以编写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;
}
}