Php 为什么这一开始还空着呢?
因为前面的斜杠。这不会Php 为什么这一开始还空着呢?,php,Php,因为前面的斜杠。这不会 array ( 0 => '', 1 => '1', 2 => '2', 3 => '3', 4 => '4', 5 => ' ', ) 由于后面的斜杠,您还有一个空数组元素。因为字符串以/开头,explode()使用您指定的分隔符(/)将字符串拆分为数组。每次explode遇到您的定界符时,它都会使用自上一个定界符以来它前面的任何字符,并将其添加到数组中(explode()从左到右操作) 即使分隔符前面没有任
array (
0 => '',
1 => '1',
2 => '2',
3 => '3',
4 => '4',
5 => ' ',
)
由于后面的斜杠,您还有一个空数组元素。因为字符串以
/
开头,explode()
使用您指定的分隔符(/
)将字符串拆分为数组。每次explode遇到您的定界符时,它都会使用自上一个定界符以来它前面的任何字符,并将其添加到数组中(explode()
从左到右操作)
即使分隔符前面没有任何内容(例如,字符串以分隔符开头或两个分隔符背对背),也会发生这种情况
你可能想要这样的东西:
$here = "1/2/3/4/ ";
$test = explode('/', $here);
var_export($test);
这将修剪前导或尾随斜杠,避免空数组项。您可能还希望将其与数组_filter()
结合使用,以删除空项,如下所示:
$test = explode('/', trim($here, '/'));
为此,如果您给它“/1/2/3//4/5/”,您仍然只能得到[1,2,3,4,5]。,因为分隔符位于字符串的开头 同样,如果在字符串末尾找到分隔符,则空字符串将是数组的最后一个元素 您可以通过从字符串的开头和结尾删除分隔符字符串来解决此问题,例如,使用trim:
$test = array_filter(explode('/', $here));
让它爆炸(trim($here,“/”))难道不是更有意义吗?@TimCompton这就是我的意思
$test = array_filter(explode('/', $here));
$test = explode('/', trim($here, '/'));