到目前为止:我正在做一个preg_match_all搜索,我的输出是:唐纳德、黛西、休伊、杜威和路易
代码是这样的:
$duckburg = array();
preg_match_all($pattern,$subject,$match);
$duckburg['residents'] = $match[1];
print_r($duckburg['residents']);输出:
Array ( [residents] => Array ( [0] => Donald [1] => Daisy [2] => Huey [3] => Dewey [4] => Louie )我的问题是:我想在每一个字符串中加上“鸭子”。
使用此帮助字符串:$lastname = " Duck"
产出应是:
Array ( [residents] => Array ( [0] => Donald Duck [1] => Daisy Duck [2] => Huey Duck [3] => Dewey Duck [4] => Louie Duck ) 我试过了(但不起作用):
preg_match_all($pattern,$subject,$match);
$matchy = $match.$lastname;
$duckburg['residents'] = $matchy[1];
print_r($duckburg['residents']);是否有可能在匹配字符串进入数组之前更改它?谢谢你的帮助!
发布于 2017-07-25 12:03:14
地图是这种操作的工具:
$match = Array ( 'residents' => Array ('Donald','Daisy','Huey','Dewey','Louie'));
$duckburg['residents'] = array_map(function($n) { return "$n Duck"; }, $match['residents']);
var_dump($duckburg);输出:
array(1) {
["residents"]=>
array(5) {
[0]=>
string(11) "Donald Duck"
[1]=>
string(10) "Daisy Duck"
[2]=>
string(9) "Huey Duck"
[3]=>
string(10) "Dewey Duck"
[4]=>
string(10) "Louie Duck"
}
}发布于 2017-07-25 11:44:00
迭代数组是一种可能的选择:
$lastname = " Duck";
preg_match_all($pattern,$subject,$matches);
foreach($matches as $key => $val){
$duckburg['residents'][$key] = $val . $lastname;
}
print_r($duckburg['residents']);https://stackoverflow.com/questions/45301748
复制相似问题