我在php.net上发现了这一点,我想澄清一下:
示例2(爆炸函数)
$data = "foo:*:1023:1000::/home/foo:/bin/sh";
list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data);
echo $user; // foo
echo $pass; // *
中间有两个冒号,这是否意味着$gecos没有价值?
你的问题和困惑并没有那么糟糕,你的免责声明就是!
你可以简单地打印爆炸的所有输出来找出答案
<?php
$data = "foo:*:1023:1000::/home/foo:/bin/sh";
print_r(explode(":", $data));
输出
Array
(
[0] => foo
[1] => *
[2] => 1023
[3] => 1000
[4] =>
[5] => /home/foo
[6] => /bin/sh
)
是的,正如您所想,list
中的第五个变量将没有值,因为在那个位置的冒号之间没有任何内容。