我使用以下内容来获取名为$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。
答案 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