【发布时间】:2014-08-21 13:57:11
【问题描述】:
大家好,我有以下数组,我只想用 $b[1] 替换 $a[1] 中的日期,用 $b[2] 替换 $a[2] ...
$a=array(
1 => 'BLALBLSALV23.04.2014bjwjfdwjd'
2 => 'BLAJSDJSAD24.04.2015bjwjfdwjd'
...
)
$b=array(
1 => '20140423'
2 => '20150424'
...
)
我正在使用 preg_replace 但结果没有显示任何变化,这是我使用的代码
$i=0;
$anlagDat = "#(\d{1,2})\.(\d{1,2})\.(\d{1,4})#";
foreach($a as &$value){
preg_replace($anlagDat,$b[$i],$value);
$i++;
}
我知道它不可能是一个错误的正则表达式,因为我在程序中使用过它
【问题讨论】:
-
你没有对
preg_replace的返回值做任何事情。 -
除了@Jon 的评论,您可能还想初始化您的
$i变量。如果你之前使用过它,你会得到意想不到的结果。或者你直接在循环中得到它:foreach($a as $i => &$value)。并在循环后取消设置$value变量以避免以后出现错误。 -
@Jon 谢谢乔恩那是我的错误
-
@jeroen 在我的原始代码中我让它用 $i=0; 初始化上面的一行我编辑了帖子感谢您使帖子变得更好!
标签: php arrays multidimensional-array foreach preg-replace