2012-10-02 29 views
1

我用下面的採取所謂$list的數組,並把它變成網址:array_map W /空值

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值。我怎樣才能讓數組映射忽略任何空值?否則,它只是創建這樣的: http://asite.com/?&fmt=jpg沒有文件名,因爲它是空的。

回答

5

$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