仅解析数组中的特定值?

时间:2011-09-21 19:12:46

标签: php arrays

我正在使用Xpath解析一些信息,它返回一个简单的数组。

$values = array();

Array
(
    [0] => http://www.aaa.com/19364328526/
    [1] => http://www.bbb.com/207341152011/
    [2] => http://www.ccc.co.jp/1246623/
)

有什么方法可以解析数组,只根据URL加权获取某些URL?例如。如果aaa.com存在,请仅使用aaa.com。如果没有,请检查ccc.co.jp,如果存在,请仅使用,等等。

当我知道$ values [0] / [1] / etc有什么时,我只知道如何从数组中进行选择,不幸的是,这个数组中链接的顺序有时会改变和/或不存在。

非常感谢任何帮助!

谢谢! TRE

1 个答案:

答案 0 :(得分:2)

您可以使用in_array()检查值是否存在。我不知道你到底想要做什么,但这是一个例子。你知道你可能会得到的所有可能值吗?

//List domains in priority order    
$weighted = array('aaa.com','bbb.com','ccc.com');

$selected_url = '';
foreach($weighted as $check) { //start with highest priority
    foreach($values as $url) { //loop through all URL's
        if(strpos($url,$check) !== false) {
            //If a url matches priority, return it. We are finished to exit both loops
            $selected_url = $url;
            break 2;
        }
    }
}

$selected_url应具有最高优先级的网址,如果找不到任何网址,则该网址将为空。