php - explode() 给了我我没想到的空白值
问题描述
我想要做的是根据它有多少 \n 来分隔一个字符串。例如,如果我使用这个:
$string = "Hello\n stackoverflow";
$explode_insert = explode("\n", $string);
我的预期结果是
- 你好
- “”
- 堆栈溢出
如果$string
是:
$string = "Hello \nstackoverflow\n\n how are you!"
我的预期结果是:
- 你好
- “”
- 堆栈溢出
- “”
- “”
- 你好吗!
但相反,如果爆炸得到“\n\n”,它会输出:
- “”
- “”
- “”
有一个我不需要的额外“”,有什么想法为什么会发生这种情况?
解决方案
PHPexplode
在提供的分隔符的边界上运行,因此这些是预期的结果。
这是一个例子:
\n\n
这会产生 3 个空字符串,因为有 3 个区域不是“\n”,之前、之间和之后;看这里:
\n\n
^ ^ ^
推荐阅读
- selenium-webdriver - Firefox 66.0 和 Geckodriver 0.24.0 不兼容?
- perl - INSTALL_BASE=~/perl5 -- 不正常 - 安装 Perl 模块时
- azure-container-instances - ACI - VNET - IP 地址
- wso2 - WSO2 企业集成商。- 服务器上的数据源
- android - 如何从 Android 设备中的位图中获取波段数?
- mysql - 无法访问 localhost/phpmyadmin
- c# - 我应该在“编辑”视图代码中写什么?
- cybersource - 使用 CyberSource REST API 实施 3D Secure
- javascript - react-native-google-sign-in 中的错误代码 16“CANCELLED”
- python - 用 Python 编写程序以显示在刽子手游戏中猜到的字母不起作用