2016-05-10 71 views
0

我發現這對php.net,和我要求的一點澄清:爆炸一個複雜的字符串在PHP

例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沒有價值?

+0

Rip ~~ Gnahzllib〜 – Gnahzllib

+0

-1。如果你已經收到警告,你應該知道比發佈這個更好。這是一個簡單的問題echo $ gecos找出它是否是空的 – e4c5

+0

哈哈,沒錯,我很愚蠢,沒有想到這一點!謝謝〜 – Gnahzllib

回答

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第五變量將不因爲那個位置上的那些冒號之間沒有任何內容。

+0

大聲笑謝謝你,我從來沒有想過在這裏每個人都是pokerface。根本沒有意圖放棄。 – Gnahzllib