我想換的東西,如一個數組的所有元素,但我不希望很多線路或foreach循環數組元素包裝的所有元素
$links = array('london','new york','paris');
// the outcome should be
<a href="#london">london</a>
<a href="#new york">new york</a>
<a href="#paris">paris</a>
我想換的東西,如一個數組的所有元素,但我不希望很多線路或foreach循環數組元素包裝的所有元素
$links = array('london','new york','paris');
// the outcome should be
<a href="#london">london</a>
<a href="#new york">new york</a>
<a href="#paris">paris</a>
如何array_map?
$links = array('london', 'new york', 'paris');
$wrapped = array_map(
function ($el) {
return "<a href=\"#{$el}\">{$el}</a>";
},
$links
);
Demo(點擊源)
沒有PHP> 5.3,則不能使用lambda功能,所以你需要的東西是這樣的:
function wrap_those_links($el) {
return "<a href=\"#{$el}\">{$el}</a>";
}
$links = array('london', 'new york', 'paris');
$wrapped = array_map('wrap_those_links', $links);
Demo for PHP 5.2(同樣,點擊來源)
嘗試join('\n', array_map(function($a) { return "<a href=\"#$a\",>$a<\\a>";}, $links));
...或者因爲不是使用命名函數「implode」,而是使用別名「join」,並且沒有以易讀的方式格式化答案,或者提供了有關建議限制的解釋(PHP 5> = 5.3)。當涉及到自我文檔時,Implode更隱含。 – SEoF
我認爲這個答案並不完全正確,使用單引號而不是雙引號,反斜槓代替正斜槓,它應該是:'join(「\ n」,array_map(function($ a){return「$a」 ;},$ links));' – superUntitled
有一個在線的解決方案:
trim(json_encode(array_values($array)) , '[]');
輸出如下:
"one","two","three"
因此,已經排除了規範和合理的辦法,還有什麼你試試? –
以及我對foreach循環的confortable我只是想看看是否有可能。 – Val
爲什麼沒有'foreach'循環?哦,你剛剛回答,因爲我張貼! – Ryan