我有一個像$path = "dir1/dir2/dir1/dir4/";
等。等變量..刪除根目錄 - PHP
我想刪除第一個成員dir1/
,並希望類似結果dir2/dir1/dir4/
。
我認爲這是可能的通過使explode('/', $path)
變量數組。我怎樣才能刪除第一個成員的vrom數組並重建該數組爲一個文本變量?
我該如何在PHP中實現這一目標?
我有一個像$path = "dir1/dir2/dir1/dir4/";
等。等變量..刪除根目錄 - PHP
我想刪除第一個成員dir1/
,並希望類似結果dir2/dir1/dir4/
。
我認爲這是可能的通過使explode('/', $path)
變量數組。我怎樣才能刪除第一個成員的vrom數組並重建該數組爲一個文本變量?
我該如何在PHP中實現這一目標?
根據您更新的問題
只爆炸成兩個部分,採取第二個。在第二個不存在的情況下,給它NULL
:
list(, $result) = explode("/", $path, 2) + array(1 => NULL);
OR
$array = explode("/", $path);
unset($array[0]);
echo $text = implode("/", $array);
preg_replace('~^[^/]+/~', '', $path);
,或者如果你不想正則表達式:
substr($path, strpos($path, '/') + 1);
你可以做這樣的 $結果=爆炸( 「/」,$ PATH);. 您將以數組形式獲得結果。
修訂的問題.. – 2012-03-14 06:37:40
沙克蒂·辛格的答案是正確的呢。 – heyanshukla 2012-03-14 07:20:20
$result = explode("/", $path); // Pull it apart
array_shift($result); // Pop the first index off array
$result = implode("/", $result); // Put it together again
@blasteralfred你爲什麼選擇3行與正則表達式在一條簡單的線上? – meze 2012-03-14 06:50:48
@meze:regexp比這些函數慢,你也可以在一行代碼中轉換這三行代碼 – 2012-03-14 07:15:51
你怎麼知道regexp比這些行慢?正則表達式並不總是很慢。在某些情況下,regexp會比這三行更快。而且你不能將它轉換成一行代碼。 – meze 2012-03-14 07:26:20