foreach($str as $key=>$row)
{
if(preg_match_all('/\b[Nn][Ss][Kk]-\w{5}/',$sn,$match)){
$str[$key]['darfon_pn']=substr_replace($match[0][0],$row['darfon_pn'],7,2);
}else{
$str[$key]['darfon_pn'] = '';
}
}
以上代码只遍历了$match[0][0],如何才能遍历整个$match每个值
{
if(preg_match_all('/\b[Nn][Ss][Kk]-\w{5}/',$sn,$match)){
$str[$key]['darfon_pn']=substr_replace($match[0][0],$row['darfon_pn'],7,2);
}else{
$str[$key]['darfon_pn'] = '';
}
}
以上代码只遍历了$match[0][0],如何才能遍历整个$match每个值
foreach($match[0] as $v) { //对于每一个匹配到的串
foreach($str as $key=>$row) { //修改$str
$str[$key]['darfon_pn'] = substr_replace($v, $row['darfon_pn'],7,2);
}
}
}else{ //否则
foreach($str as $key=>$row) {
$str[$key]['darfon_pn'] = ''; //赋空值
}
}
测试代码$sn = 'NSK-34582 NSK-UUS89 NSK-89234';
preg_match_all('/\b[Nn][Ss][Kk]-\w{5}/',$sn,$match);
print_r($match[0]);
$str = '________';
foreach($match[0] as $v) {
$str = substr_replace($v, $str,7,2);
echo $str,PHP_EOL;
}
Array
(
[0] => NSK-34582
[1] => NSK-UUS89
[2] => NSK-89234
)
NSK-345________
NSK-UUSNSK-345________
NSK-892NSK-UUSNSK-345________是你期望的吗?
NSK-UUS________
NSK-892________
这个是我期望的
NSK-UUS________
NSK-892________
这个是我期望的
这样呢?function actionTest(){
$sn = 'NSK-34582 NSK-UUS89 NSK-89234';
preg_match_all('/\b[Nn][Ss][Kk]-\w{5}/',$sn,$match);
print_r($match[0]);
$str = '________';
foreach($match[0] as $v) {
$key = substr_replace($v, $str,7);
echo $key;
}
}
foreach($str as $key=>$row)
{
if($match[0][0]){
$str[$key]['darfon_pn']=substr_replace($match[0][0],$row['darfon_pn'],7,2);
array_shift($match[0]);
}else{
$str[$key]['darfon_pn'] = '';
}
}无论 $str 有多少项,按匹配出的结果逐一替换,用完了就赋空值