2013-04-06 44 views
3

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

我想这样做的方式是从$_SERVER['PATH_INFO']中去掉URL路径并将它们放到数组中。假设路径信息包含/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获取的路径。我想知道是否没有更好的方法。

回答

3

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

$array = explode('/', trim($_SERVER['PATH_INFO'], '/')); 
+1

谢谢。这是我所寻找的。 – Thomas 2013-04-06 06:14:17