在PHP

时间:2016-05-10 04:27:01

标签: php

我在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没有价值?

1 个答案:

答案 0 :(得分:2)

你的问题和困惑并不是那么糟糕,你的免责声明就是这样!

您只需打印所有爆炸输出即可找到答案

<?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中的第五个变量没有任何价值,因为那个位置的那些冒号之间没有任何内容。