Php 在第一针之后和之前分开线。最佳版本
我有字符串,字符串可能包含0个或更多冒号“:” 我需要拆分此字符串并获取2个变量: 1)Php 在第一针之后和之前分开线。最佳版本,php,regex,string,split,Php,Regex,String,Split,我有字符串,字符串可能包含0个或更多冒号“:” 我需要拆分此字符串并获取2个变量: 1) $before=第一个冒号前的字符串 2) $after=第一个冒号后的字符串 如果字符串不包含冒号,$before和$before必须是空字符串 也就是说,从aa:ss:dd:44 $before=aa和$after=ss:dd:44 我有两个想法,如何做到这一点: (一) (二) 但我认为两者都不是最佳选择,你有更好的主意吗?使用explode: $result = explode(':', $stri
$before
=第一个冒号前的字符串2)
$after
=第一个冒号后的字符串
如果字符串不包含冒号,$before
和$before
必须是空字符串
也就是说,从aa:ss:dd:44
$before=aa
和$after=ss:dd:44
我有两个想法,如何做到这一点:
(一)
(二)
但我认为两者都不是最佳选择,你有更好的主意吗?使用
explode
:
$result = explode(':', $string, 2);
if (count($result) == 1) {
$before = $after = "";
}
else {
$before = $result[0];
$after = $result[1];
}
使用
分解
:
$result = explode(':', $string, 2);
if (count($result) == 1) {
$before = $after = "";
}
else {
$before = $result[0];
$after = $result[1];
}
这一行应该行得通
list($before, $after) = array_pad(explode(':', $string, 2), 2, '');
这一行应该行得通
list($before, $after) = array_pad(explode(':', $string, 2), 2, '');
另一个选择是:
$before = $after = '';
$str = "aa:ss:dd:44";
$ar_fields = explode( ":", $str, 2 );
if ( count( $ar_fields ) > 1 ) {
$before = $ar_fields[0];
$after = $ar_fields[1];
}
另一个选择是:
$before = $after = '';
$str = "aa:ss:dd:44";
$ar_fields = explode( ":", $str, 2 );
if ( count( $ar_fields ) > 1 ) {
$before = $ar_fields[0];
$after = $ar_fields[1];
}
如果列表中没有
:
,则会发出通知string@Rob发出通知的是列表
/分解
组合如果列表中没有:
,则将发出通知string@Rob是列表
/分解
组合发出了$limit参数对于explode()。ThanksVery nice$limit
explode()的参数。谢谢