2016-05-25 9 views
0

は私が私が知っている

$helements = array('.one:hover','.two:hover','.three:hover'); 
$felements = array('.one:focus','.two:focus','.three:focus'); 

新しいアレイを希望しましたループでそれを行うことができますが、質問は、これのための速い1つのライナーはありますか?

+0

配列の各要素に対して同じ値? – Napolux

+0

@Napolux、はい、それは:ホバー、または:フォーカスサフィックス – Benn

+1

おそらく 'array_map'または' array_walk'を使ってこれを行うことができます。 –

答えて

3
$newelements = array_map(function($x){ return $x . ':hover'; }, $elements); 
2

あなたは(私の解決策のような)配列自体を変更したり、in the other answerのような新しい配列を作成することができます。あなたの選択。 ;)

元の配列を直接変更するには、$itemを参考にしてください。

$array = ["test1", "test2", "test3"]; 
array_walk($array,function(&$item) {$item .= ':hover';}); 

結果は次のとおりです。必ず

var_dump($array); 

array(3) { 
    [0]=> 
    string(11) "test1:hover" 
    [1]=> 
    string(11) "test2:hover" 
    [2]=> 
    string(11) "test3:hover" 
} 
関連する問題

 関連する問題