如何在PHP中分割字符串?

约瑟夫

我一直在尝试创建一个使用一个字符串并使用它的函数-如果提交的字符串是“ HelloWorld:GoodbyeWorld”,该函数将创建一个数组,其内容将是HelloWorld和GoodbyeWorld,因此(““ HelloWorld” , “世界再见” )。这是我的代码。

function parseBadges($str) {
    $realstr=$str;
    $badges = array();
    while(strpos($realstr, ':') !== false) {
        array_push($badges, substr(0, strpos($realstr,':')));
        $realstr = substr(0, strpos($realstr, ':'));
    }
    return badges;
}

尝试var_dump(parseBadges(“ FavoerDoer:”)); 退货

array(1) { [0]=> bool(false) }

不知道为什么会这样,有什么想法吗?

Shlomi Hassid

它不起作用,因为您正在以复杂的方式完成一项简单的任务。请考虑:

function parse_badges($str) {
    return (is_string($str))?explode(':',$str):false;
}

解释:

  1. 该函数需要一个字符串=> $str
  2. 如果传递的变量不是字符串,则返回false => (is_string)? ... :false;
  3. 如果它是一个字符串,explode()则会将您的字符串分割为您选择的字符,并返回包含子字符串的数组。

更多阅读:PHP explode()

编辑

如果您想避免像这样的空结果word1:word2:,则将返回3的数组,最后一个单元格将为空。我们可以简单地添加array_filter()

function parse_badges($str) {
    return (is_string($str))?array_filter(explode(':',$str)):false;
}

array_filter默认情况下将删除空细胞。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Swift中分割字符串

来自分类Dev

golang-如何在模板中分割字符串

来自分类Dev

如何在Thymeleaf中分割字符串

来自分类Dev

如何在SWIG模板中分割字符串?

来自分类Dev

如何在Inno Setup中分割字符串

来自分类Dev

如何在Bash中分割字符串?

来自分类Dev

如何在抽引引理中分割字符串?

来自分类Dev

如何在Julia中分割字符串?

来自分类Dev

如何在列表中分割字符串?

来自分类Dev

如何在Java中分割特定的字符串

来自分类Dev

如何在PowerShell中分割字符串

来自分类Dev

如何在java中分割字符串URL

来自分类Dev

如何在LESS中分割字符串?

来自分类Dev

如何在脚本中分割字符串

来自分类Dev

如何在Java中分割字符串(带参数)

来自分类Dev

如何在JSP中分割字符串

来自分类Dev

如何在Powershell中分割不规则字符串?

来自分类Dev

如何在angularjs中分割字符串?

来自分类Dev

如何在每个分割的字符串(javascript)中分割和插入数字?

来自分类Dev

在字符串中分割\“

来自分类Dev

如何在正则表达式模式下不在clojure中分割字符串

来自分类Dev

如何在VB.Net中分割复杂的字符串

来自分类Dev

如何在2D列表中分割字符串?

来自分类Dev

如何在Java中分割字符串以提供具有相同长度的值

来自分类Dev

如何在/ bin / sh中分割由新行分隔的字符串

来自分类Dev

如何在/ bin / sh中分割由新行分隔的字符串

来自分类Dev

如何在第二场比赛中分割字符串

来自分类Dev

如何在/ bin / sh中分割由新行分隔的字符串

来自分类Dev

我应该如何在vim脚本中分割没有空格的字符串?