我有一个像$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