You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP中如何从动态数组的字符串提取短横线后的内容?

PHP提取短横线后内容的实现方法

可用函数及示例

方法1:使用explode()函数

explode()可将字符串按指定分隔符拆分为数组,取数组最后一个元素即可得到短横线后的内容,是单分隔符场景下最简洁高效的方案。示例代码:

$arr = [
    '18572834-2.2.2.4',
    '185-2.1'
];

$result = array_map(function($item) {
    $parts = explode('-', $item);
    return end($parts);
}, $arr);

print_r($result);

输出结果:

Array
(
    [0] => 2.2.2.4
    [1] => 2.1
)

方法2:使用strstr()函数

strstr()会返回字符串中从指定字符开始到结尾的部分,配合ltrim()去除开头的短横线即可:

$arr = [
    '18572834-2.2.2.4',
    '185-2.1'
];

$result = array_map(function($item) {
    return ltrim(strstr($item, '-'), '-');
}, $arr);

print_r($result);

方法3:使用正则表达式preg_match()

如果需要处理含多个短横线的复杂场景,正则表达式能精准匹配最后一个短横线后的内容:

$arr = [
    '18572834-2.2.2.4',
    '185-2.1'
];

$result = array_map(function($item) {
    preg_match('/-([^-]+)$/', $item, $matches);
    return $matches[1] ?? '';
}, $arr);

print_r($result);

注意事项

  • 若字符串仅含一个短横线,优先选择explode();
  • 若存在多个短横线,上述三种方法均能提取最后一个短横线后的内容;
  • preg_match()方案需处理匹配失败的情况(示例中用?? ''兜底)。

内容的提问来源于stack exchange,提问作者begadang nyok

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 16:36:06