Php 如何在foreach循环中爆炸并内爆为一个字符串
我需要在peaces中分解一个字符串并删除一些字符。最后,我想把这根绳子水平地放在一起 这就是我所尝试的:Php 如何在foreach循环中爆炸并内爆为一个字符串,php,Php,我需要在peaces中分解一个字符串并删除一些字符。最后,我想把这根绳子水平地放在一起 这就是我所尝试的: $string = "34 asdfadfadf.*****23 vgadfsdfasdf.*****46 asdfasdfadf."; $arr = explode("*****", $string); foreach ($arr as $val) { $val = trim(substr($val, 0, 2)); $arr_neu[] = $val;
$string = "34 asdfadfadf.*****23 vgadfsdfasdf.*****46 asdfasdfadf.";
$arr = explode("*****", $string);
foreach ($arr as $val) {
$val = trim(substr($val, 0, 2));
$arr_neu[] = $val;
}
$array_neu = implode(" ", $arr);
fwrite($flog, "\nstring neu:" . $array_neu);
这就是我得到的:
34 asdfadfadf.****23 vgadfsdfasdf.****46 asdfasdfadf。34 23 46
我只需要号码342346
谢谢 在代码末尾,您使用了错误的变量来内爆数据 将代码更改为
$string = "34 asdfadfadf.*****23 vgadfsdfasdf.*****46 asdfasdfadf.";
$arr = explode("*****", $string);
foreach ($arr as $val) {
$val = trim(substr($val, 0, 2));
$arr_neu[] = $val;
}
$array_neu = implode(" ", $arr_neu); // <--------change here. Use $arr_neu
fwrite($flog, "\nstring neu:" . $array_neu);
只需使用preg_替换功能:
$s = '34 asdfadfadf.*****23 vgadfsdfasdf.*****46 asdfasdfadf.';
$result = trim(preg_replace('/[^0-9 ]+/', '', $s));
print_r($result);
输出:
34 23 46
-----
如果字符串可能包含多个连续空格-将上述方法更改为以下方法:
$result = trim(preg_replace('/[^0-9]+/', ' ', $s));
您只需将内爆值更改为$arr_neu,而不是$arr
$array_neu=preg_replace'/[^\d]/',$string;它起作用了!但是字符串中有时会有数字。我现在得到了这个错误。致命错误:[]第6行中的字符串不支持运算符这是我的新代码:$string=34 asdfadfadf.****23 vgadfsdfasdf.****46 asdfasdfadf$arr=分解******,$string;foreach$arr为$val{$val=trimsubstr$val,0,2;$arr_neu[]=$val;}$arr_neu=内爆,$arr_neu;fwrite$flog\n字符串neu:$阿鲁纽;错误:致命错误:[]第6行中的字符串不支持[]运算符//第6行==$arr_neu[]=$val;
<?php
$string = "34 asdfadfadf.*****23 vgadfsdfasdf.*****46 asdfasdfadf.";
$arr = explode("*****", $string);
foreach ($arr as $val) {
$val = trim(substr($val, 0, 2));
$arr_neu[] = $val;
}
$array_neu = implode(" ", $arr_neu);
fwrite($flog, "\nstring neu:" . $array_neu);