从以" http"开头的数组中提取数据只要

时间:2015-05-02 07:53:49

标签: php

我有一个数组$all_urls。如果我print_r($all_urls);,它将返回以下数据:

Array (
[0] => http://www.domain.com
[1] => https://www.domain.com
[2] => http://www.domain.com/my-account/
[3] => https://www.facebook.com/
[4] => /test
[5] => http://domain.com/wp-content/uploads/logos-5.jpg 
[6] => 'http://domain.com/wp-content/themes/'
[7] => '//mattressandmore.com/wp-content/plugins'
)

我想提取并列出包含" http://"的项目。仅

2 个答案:

答案 0 :(得分:1)

使用此代码仅过滤以http开头的值并返回一个新数组:

array_filter($arr, function ($var) {
    return stripos($var, 'http', -strlen($var)) !== FALSE;
});

答案 1 :(得分:0)

尝试使用array_walk这样的功能:

array_walk($all_urls, function(function(&$value, $index){
    if (preg_match('/^http/', $value)) {
        echo $index . " " . $value . "\n";
    }
});

你也可以用foreach迭代数组:

foreach($all_urls as $index => $value) {
    if (preg_match('/^http/', $value)) {
        echo $index . " " . $value . "\n";
    }
}