array_map w / null值

时间:2012-10-02 17:04:27

标签: php arrays

我使用以下内容来获取名为$list的数组并将其转换为URL:

function genIMG($sValue) {
return 'http://asite.com/'.$sValue.'?&fmt=jpg';
}
$IMGurls = array_map("genIMG", array_unique($list));
foreach($IMGurls as $imgLink) {
echo "<a href='". $imgLink ."'>". $imgLink ."</a><br />";
}

这样可行,但我在数组中也有一些null值。如何让数组映射忽略null的任何值?否则它只是创建这样的东西: http://asite.com/?&fmt=jpg没有文件名,因为它是null。

1 个答案:

答案 0 :(得分:6)

$list必须包含空值,并使用array_filter

    $IMGurls = array_map("genIMG", array_unique(array_filter($list)));

实施例

$list = array(1,2,3,4,5,"","",7);

function genIMG($sValue) {
    return 'http://asite.com/' . $sValue . '?&fmt=jpg';
}

$IMGurls = array_map("genIMG", array_unique(array_filter($list)));
foreach ( $IMGurls as $imgLink ) {
    echo "<a href='" . $imgLink . "'>" . $imgLink . "</a><br />";
}

输出

http://asite.com/1?&fmt=jpg
http://asite.com/2?&fmt=jpg
http://asite.com/3?&fmt=jpg
http://asite.com/4?&fmt=jpg
http://asite.com/5?&fmt=jpg
http://asite.com/7?&fmt=jpg