gpt4 book ai didi

php - 如何在 PHP 中拆分字符串?

转载 作者:可可西里 更新时间:2023-10-31 22:53:44 25 4
gpt4 key购买 nike

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

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) }

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

最佳答案

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

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

解释:

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

更多阅读:PHP explode()

编辑

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

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

默认情况下,array_filter 将删除空单元格。

关于php - 如何在 PHP 中拆分字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29711105/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com