1

我使用以下方法获取一个名为的数组$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的东西:没有文件名,因为它是空的。

4

1 回答 1

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
于 2012-10-02T17:06:48.870 回答