gpt4 book ai didi

php - explode() 不会用空格分隔字符串?

转载 作者:可可西里 更新时间:2023-11-01 00:00:24 27 4
gpt4 key购买 nike

我试图打开一个文本文件并将其中的名称列表分解为一个数组,但是当我var_dump 新数组时,我得到了这个:

array(1) { [0]=> string(61) "name name name name "}

列表的全部内容进入数组中的一个键字段。

这是我正在使用的代码:

$ingame_list = file_get_contents('../../../../home/folder/folder/list.txt');
$newarray = explode(" ", $ingame_list);
var_dump($newarray);

如何让每个名称都位于新数组中其自己的关键字段中?

最佳答案

tl;dr 您的列表由简单空格以外的其他内容分隔 - 很可能是多个相邻的空白字符。您实际上看到的是数据的 HTML 呈现,其中多个相邻的空白字符显示为一个。

注意 var_dump() 结果中的 string(61)var_dump() 报告变量的类型、长度和内容(在字符串的情况下)。 string(61) 表示您的字符串中有 61 个字符。所以,如果您真的要返回字符串 "name name name name ",这意味着有些字符您在这里看不到。这可能是因为空白在 HTML 中的显示方式:制表符、换行符和其他空白字符看起来都像简单的空格。您确定文本是用空格分隔的,而不是制表符或其他空格吗?

explode() 只会将完全匹配的字符串拆分为指定的字符/字符串。如果文本由 \t\n\r 或其他非打印字符分隔,您的 explode() 语句将不起作用。例如,如果你有这个:

name    name    name

(假装那些是上面的制表符),然后你的 explode() 没有找到任何普通的旧空格(,字符值 32)字符。

如何解决这个问题

根据您在下面的评论,您的数据包含换行符 (\n),而不是纯空格。您需要将代码的第二行替换为:

$newarray = explode("\n", $ingame_list);

关于php - explode() 不会用空格分隔字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20430869/

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