是否有一个可靠的PHP内衬到后缀/前缀数组值?

时间:2016-05-25 16:15:21

标签: php arrays loops

我需要后缀数组值,这实际上是一个标记CSS,所以我需要用:hover后缀一个数组,用:focus后缀另一个数组

$elements = array('.one','.two','.three');

所需的新阵列

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

我知道我可以通过一个循环来做到这一点,但问题是,这是否有一个快速的一个班轮?

2 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:3)

您可以更改数组本身(如我的解决方案)或创建一个新的数组,如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"
}