我有一个问题,我有一个字符串数组,我想用不同的分隔符进行分解.例如

$example = 'Appel @ Ratte';
$example2 = 'apple vs ratte'

我需要一个在@或vs中爆炸的array.

我已经写了一个解决方案,但如果每个人都有更好的解决方案,请在这里发布.

private function multiExplode($delimiters,$string) {
    $ary = explode($delimiters[0],$string);
    array_shift($delimiters);
    if($delimiters != NULL) {
        if(count($ary) <2)                      
            $ary = $this->multiExplode($delimiters, $string);
    }
    return  $ary;
}

推荐答案

try 使用:

$output = preg_split('/ (@|vs) /', $input);

Php相关问答推荐

PHP和可选函数参数

在PHP中结合每周日程安排和特殊日子查找下一个可用日期

为什么PHP输出\n而不是实际创建一个新元素?

Postgrid Webhook不叫laravel

添加自定义Metabox到WooCommerce管理订单,启用HPOS

我需要多个SELECT语句的结果(使用由php ECHO创建的表中显示的Limit(X)

如果WooCommerce中存在特定的运输方式,则隐藏其他运输方式

Laravel eloquent-如果没有包含InitialValue的结果,则查询where Second Value

SendGrid响应PHP

有没有可能从composer 过时的输出中隐藏不需要的主要版本?

如何不重新查询模型A-&>;相关模型B-&>模型

PHP Match如何准确判断条件?

dyld[45923]:未加载库:/usr/local/opt/libavif/lib/libavif.15dylib

获取 Shopware 6 集合元素的值,PHP

由于 PHP 版本不受支持,如何终止 PHP 脚本?

如何使用不同的方法编写嵌套连接查询并将两列连接成一列在 laravel 查询生成器中

WooCommerce 订单和邮箱通知的自定义产品描述

在WooCommerce购物车和 checkout 页面中更改总计文本

遇到特定键时修改二维数组以创建嵌套数据集

password_verify 在 PHP 7.4 中有效,但在 PHP 8.2 中无效