すべての要素をラップするが、私はラインのロットまたはforeachループ配列要素Iのようなもので、配列のすべての要素をラップしたい
$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ループ配列要素Iのようなもので、配列のすべての要素をラップしたい
$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をしたくないですか? 、再び(
function wrap_those_links($el) {
return "<a href=\"#{$el}\">{$el}</a>";
}
$links = array('london', 'new york', 'paris');
$wrapped = array_map('wrap_those_links', $links);
$links = array('london', 'new york', 'paris');
$wrapped = array_map(
function ($el) {
return "<a href=\"#{$el}\">{$el}</a>";
},
$links
);
Demoは、あなたがこのような何かをする必要がありますので、あなたは、ラムダ関数を使用することはできません、PHP> 5.3なし
(ソースをクリックします)
試してみてください)ソース]をクリックしますjoin('\n', array_map(function($a) { return "<a href=\"#$a\",>$a<\\a>";}, $links));
...または名前付き関数 "implode"を使用する代わりに、 "join"というエイリアスを使用していて、簡単に判読可能な形で回答を書式化していないか、提案の制限事項について説明しています5≧5.3)。 Implodeは、自己文書化に関してははるかに暗黙的です。 – SEoF
私はこの答えが二重引用符の代わりにシングルを使用し、スラッシュの代わりにバックスラッシュを使用すると正しくないと思います。 'join(" \ n "、array_map(function($ a){return" $a " ;}、$ links)); ' – superUntitled
1行のソリューションがあります:
trim(json_encode(array_values($array)) , '[]');
出力は次のようになります。だから、
"one","two","three"
、カノニカルと賢明なアプローチを除外した、あなたは他に何をしようとしたのですか? –
よく私はforeachループと快適です私はそれが可能かどうかを見たいだけです。 – Val
'foreach'ループがないのはなぜですか?ああ、あなたは私が投稿したときにちょうど答えました! – Ryan