Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在foreach循环中爆炸并内爆为一个字符串_Php - Fatal编程技术网

Php 如何在foreach循环中爆炸并内爆为一个字符串

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;

我需要在peaces中分解一个字符串并删除一些字符。最后,我想把这根绳子水平地放在一起

这就是我所尝试的:

$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);