【发布时间】:2014-02-08 05:36:19
【问题描述】:
这可能看起来微不足道,但它让我很头疼。有人可以解释原因 http://php.net/manual/es/function.explode.php 示例显示(我已修剪)。
$pizza = "piece1 piece2 piece3"; // string
$pieces = explode(" ", $pizza);
// after a var dump
array(3) { [0]=> string(6) "piece1"
[1]=> string(6) "piece2"
[2]=> string(6) "piece3" }
这很好用,去掉了所有的空格,并做了一个很好的小数组,但是当我使用下面显示的类似的东西时
$path = "/test-gallery/2/"; // string
$urlpieces = explode("/", $path);
// after a var dump
array(4) { [0]=> string(0) ""
[1]=> string(12) "test-gallery"
[2]=> string(1) "2"
[3]=> string(0) "" }
我得到第一个和最后一个空字符串。为什么它不删除第一个和最后一个数组元素?我总是可以添加另一个步骤并删除它,但爆炸应该把它全部拿出来,不是吗?
提前感谢您的建议。
【问题讨论】:
-
因为这是爆炸的工作原理!!!
-
使用修剪($path,"/");爆炸前
-
根据文档,每一个都是字符串的一个子字符串,通过在字符串分隔符形成的边界上拆分它而形成。
-
在这里阅读 explode() 手册in2.php.net/explode
-
感谢 Krish R,这很有帮助 :) 非常感谢。