0

我有这样的路径

apples/oranges/bananas

我需要获取路径中的中间项目,在本例中为橘子。

最好的方法是什么?我可以使用 strpos 和 substr 自己做,但我想有更好的方法......

4

5 回答 5

6
$path = explode("/", "apples/oranges/bananas");

echo $path[1];
于 2012-08-07T20:24:56.117 回答
3

只是为了展示PHP > 5.4中的数组取消引用:

echo explode('/', 'apple/oranges/bananas')[1];
于 2012-08-07T20:29:23.470 回答
3

您可以分解字符串(假设是),然后从数组中获取正确的索引。像这样:

$string = "apples/oranges/bananas";

$array = explode('/', $string);

echo $array[1]; //outputs oranges
于 2012-08-07T20:25:25.437 回答
0

如果

$path = 'apples/oranges/bananas';

你可以这样做:

$dir = basename(dirname($path));

如果你想从字符串的末尾开始,并且应该在 Windows 上工作,或者

$dir = preg_match('|/([^/]*)|', $path, $m) ? $m[1] : false;

如果你想从字符串的开头开始,并且不会在 Windows 上工作。

于 2012-08-07T20:25:57.330 回答
0

它总是由 2 个斜线分隔的 3 个单词吗?
如果是,您可以尝试:

$mypath = explode('/', 'apple/oranges/bananas');
echo $mypath[1]; //gives oranges
于 2012-08-07T20:26:23.303 回答