删除php中的always last数组
在对该字符串进行爆炸后,我正在尝试移除最后一个数组: 例1删除php中的always last数组,php,Php,在对该字符串进行爆炸后,我正在尝试移除最后一个数组: 例1 Adress1 Adress2 String1 : String2 例2 Adress1 Adress2 Adress3 String1 : String2 我的想法是首先检查它们是否匹配:“in string(adrori),然后应完全删除最后一个数组“String1:String2”。不知道要计算多少数组计数 这是我的密码: if (preg_match("/ : /", $adrori)) { $arr2 = ex
Adress1
Adress2
String1 : String2
例2
Adress1
Adress2
Adress3
String1 : String2
我的想法是首先检查它们是否匹配:“in string(adrori),然后应完全删除最后一个数组“String1:String2”。不知道要计算多少数组计数
这是我的密码:
if (preg_match("/ : /", $adrori)) {
$arr2 = explode("\n", $adrori);
$adrori = array_pop($arr2);
$adrori = implode("\n", $adrori);
}
谢谢
array\u pop
更改其参数并返回最后一个元素。所以你应该这样做
if (preg_match("/ : /", $adrori)) {
$arr2 = explode("\n", $adrori);
array_pop($arr2);
$adrori = implode("\n", $arr2);
}
array\u pop
更改其参数并返回最后一个元素。所以你应该这样做
if (preg_match("/ : /", $adrori)) {
$arr2 = explode("\n", $adrori);
array_pop($arr2);
$adrori = implode("\n", $arr2);
}
试试这个:
$a = array('a1','a:2');
$b = array_filter($a,function($value){
if(strpos($value, ':') === false){
return $value;
}
});
print_r($b);
试试这个:
$a = array('a1','a:2');
$b = array_filter($a,function($value){
if(strpos($value, ':') === false){
return $value;
}
});
print_r($b);
在您的示例中,删除最后一个数组项后,将其重新内爆 因此,您也可以使用
preg\u replace
获得所需的结果,而无需爆炸/内爆:
$adrori = trim( preg_replace( '/.+ : .+$/', '', $adrori ) );
或:
模式说明:
\n newline
.+ one or more characters
: space-colon-space
.+ one or more characters
$ end of string
在您的示例中,删除最后一个数组项后,将其重新内爆 因此,您也可以使用
preg\u replace
获得所需的结果,而无需爆炸/内爆:
$adrori = trim( preg_replace( '/.+ : .+$/', '', $adrori ) );
或:
模式说明:
\n newline
.+ one or more characters
: space-colon-space
.+ one or more characters
$ end of string
@ksimka的例子奏效了!谢谢大家 我的错误是把变量给了aray_pop 错:
if (preg_match("/ : /", $adrori)) {
$arr2 = explode("\n", $adrori);
$adrori = array_pop($arr2);
$adrori = implode("\n", $adrori);
}
对:
if (preg_match("/ : /", $adrori)) {
$arr2 = explode("\n", $adrori);
array_pop($arr2);
$adrori = implode("\n", $adrori);
}
谢谢你,来自@ksimka的例子奏效了!谢谢大家 我的错误是把变量给了aray_pop 错:
if (preg_match("/ : /", $adrori)) {
$arr2 = explode("\n", $adrori);
$adrori = array_pop($arr2);
$adrori = implode("\n", $adrori);
}
对:
if (preg_match("/ : /", $adrori)) {
$arr2 = explode("\n", $adrori);
array_pop($arr2);
$adrori = implode("\n", $adrori);
}
谢谢你举个例子,很难理解。我不懂这些例子。你能为
var\u导出($adrori)发布输出吗代码>对应于示例?您知道吗,如果字符串第一行包含“String1:String2”,最后一行包含“Adress3”,则“Adress3”将被删除?所有地址都以string:string结尾。有时是两排,有时是两排以上。但总是出现在以下字符串的末尾:ExampleString:ExampleString。因此,我总是试图删除字符串末尾带有“:”的最后一行。举个例子,很难理解。我不理解这些例子。你能为var\u导出($adrori)发布输出吗代码>对应于示例?您知道吗,如果字符串第一行包含“String1:String2”,最后一行包含“Adress3”,则“Adress3”将被删除?所有地址都以string:string结尾。有时是两排,有时是两排以上。但总是出现在以下字符串的末尾:ExampleString:ExampleString。所以我总是试图删除字符串末尾带有“:”的最后一行。