use*_*097 0 php arrays preg-match-all
我是一个自我思考的PHP初学者,我还在学习正则表达式.这是我遇到的问题preg_match_all和数组
我的数组有完整的以下信息:
;;CARLOS||ANDREW||STEPH||SUE||JUDY||HAROLD||JAMES||KATIE||JESSICA;;
Run Code Online (Sandbox Code Playgroud)
我要做的是单独显示每个名称,大约有250个不同的名称,数组总是以;; 并始终以;;结尾; 所以这是我的问题,首先我的数组加载正常但只做第一个名称:
preg_match_all('/^(.+?)\|\|/', $body, $part);
foreach ($part[1] as $part){
print_r($part);
Run Code Online (Sandbox Code Playgroud)
结果是 ;;CARLOS
$body巨大的名称列表在哪里(包含250多个名称的数组).
期望的结果:
CARLOS
ANDREW
STEPH
JUDY
HAROLD
JAMES
KATIE
JESSICA
Run Code Online (Sandbox Code Playgroud)
请理解我无法更改输入数组,它就是它.所以基本上在第一个数组我已加载整个列表然后我需要打破它| 字符.
谢谢你的建议.
这里不需要使用正则表达式.explode并trim会工作得很好.
$str = trim($body, ";"); // Remove semi-colons
$arr = explode("||", $str); // Return array of strings delimited by double pipes
print_r($arr);
Run Code Online (Sandbox Code Playgroud)
产量
Array
(
[0] => CARLOS
[1] => ANDREW
[2] => STEPH
[3] => SUE
[4] => JUDY
[5] => HAROLD
[6] => JAMES
[7] => KATIE
[8] => JESSICA
)
Run Code Online (Sandbox Code Playgroud)
如果你想要你想要的结果,那implode就是上面的输出.
echo implode(" ", $arr);
// Outputs: CARLOS ANDREW STEPH SUE JUDY HAROLD JAMES KATIE JESSICA
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
136 次 |
| 最近记录: |