只解析数组中的特定值?

问题描述:

我使用Xpath解析一些信息,它返回一个简单的数组。只解析数组中的特定值?

$values = array();

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

有什么办法,我可以通过阵列分析,只需要基于URL加权某些网址吗?例如。如果aaa.com存在,请仅使用aaa.com。如果没有,请检查ccc.co.jp,如果存在,则仅限于此,等等。

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

任何帮助将不胜感激!

谢谢! Tre

您可以使用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应该具有最高优先级的网址,或者这将是空的,如果没有一个网址被发现。

+0

我会循环浏览一些这样的数组列表,然后我只想去掉权重最高的URL,然后将它放到一个数组中,这个数组最后会被吐出。我会看看这个。谢谢 – tr3online

+0

你如何定义你的URL的重量?这可能会有所作为 –

+0

我还没有尝试,因此问题。我基本上想知道是否有办法按顺序扫描阵列。检查aaa.com,如果它有抓取整个数组条目aaa.com/xyz等。如果它不存在,请检查ccc.co.jp,如果它有抓取整个数组条目等。 – tr3online