我遇到了explode()函数的问题。我使用该函数来爆炸像“Name:Replica”这样的字符串,但有时在字符串中有2个或更多冒号(“:”)并且存在问题,因为我的脚本是: 示例:“名称:副本:replica2:replica3 ”
$explode = explode(":", $string);
$query = "INSERT INTO `table` (`field_1`, `field_2`) VALUES ('".$explode[0]."', '".$explode[1]."')";
我需要解决这个问题。因为当我在第一个冒号(“:”)之后拆分字符串时,第二部分必须是最后一部分。
此致 乔治!
P.S。 - 对不起我的英语不好。
答案 0 :(得分:6)
我想你想使用explode()
的'limit'(第三)参数:
list($attribute, $value) = explode(":", $string, 2);
这将确保您只获得两个结果。
答案 1 :(得分:2)
使用可选的第三个$limit
参数explode()
:
$explode = explode(":", $string, 2);
这告诉explode()
返回一个最多包含2个元素的数组,将所有后续冒号放入返回的第二个字符串片段中。请注意,根据您的示例,您应该使用冒号和空格:
$explode = explode(": ", $string, 2);
但也许这只是一个巧合。
答案 2 :(得分:1)
根据@Jon Nalley的建议编辑。请注意, limit (第3个参数)仅受PHP 5.x支持
list($attribute, $value) = explode(":", $string, 2);