3

我正在尝试用 PHP5.4 编写一个小型 RESTful 服务 API(用于教育目的)。因此,我需要分析调用服务的 URL。

我想要这样做的方法是剥离 URL 路径$_SERVER['PATH_INFO']并将它们放入数组中。假设路径信息包含/contacts/14295/. 将两条路径放入如下数组的正确方法是什么?

array(2) {
 [0]=>
 string(8) "contacts"
 [1]=>
 string(5) "14295"
}

我发现至少有两种方法可以将路径信息字符串拆分为一个数组,但是这两种方法都会导致一个包含两个以上条目的数组。

我发现的第一种方法是explode函数,它返回一个带有尾随空字符串的数组(意味着第一个和最后一个数组条目包含一个空字符串):

explode('/', $_SERVER['PATH_INFO']);

然后我尝试了 preg_split 函数,它返回一个数组,其中包含每个斜杠('/')的条目:

preg_split('//', $_SERVER['PATH_INFO']);

这两种变体对我来说从 URL 获取路径都很不方便。我想知道是否没有更好的方法。

4

1 回答 1

4

从数组的开头和结尾修剪“/”?

$array = explode('/', trim($_SERVER['PATH_INFO'], '/') );
于 2013-04-06T06:06:24.297 回答