You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何分割字符串生成新数组对象?PHP代码异常排查

问题分析与修正

咱们一步一步拆解你代码里的问题哈:

1. 分隔符用错了核心逻辑

你执行$parts = explode('.', $myId);的时候,用的分隔符是点号.,但你的$myId处理后是"242, 428",里面根本没有点号!所以explode之后得到的数组只会包含一个元素——就是整个字符串"242, 428",完全没达到拆分ID的效果。

2. 多余的数组嵌套操作

你接着写了$parts = array($parts);,这会把原本的一维数组再包一层,直接变成二维数组,这显然不是你想要的拆分单个ID的结果。

3. 输出对象的笔误

最后你说执行print_r($myId);得到数组结果,但实际上$myId自始至终都是字符串类型,你应该输出的是$parts才对,估计是手滑写错啦。


修正后的代码

如果你的目标是把242,428拆分成包含两个数字的数组,直接这么写就行:

$myId = $_POST['varPostId']; // 原始值为"242,428"
// 如果你需要逗号后加空格的格式,保留这步;不需要的话可以直接跳过
$myId = str_replace(',', ', ', $myId);
// 用对应格式的分隔符拆分(这里是带空格的逗号)
$parts = explode(', ', $myId);
// 不需要再嵌套数组,直接输出数组
print_r($parts);

执行后会得到你预期的拆分结果:

Array ( [0] => 242 [1] => 428 )

如果不需要逗号后加空格的格式,直接用原始字符串拆分更简洁:

$myId = $_POST['varPostId'];
$parts = explode(',', $myId);
print_r($parts);

最终结果是完全一致的。

内容的提问来源于stack exchange,提问作者rob.m

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 04:22:42