我正在尝试在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获取路径非常不方便。我想知道是否有更好的方法。
答案 0 :(得分:4)
从数组的开头和结尾修剪“/”?
$array = explode('/', trim($_SERVER['PATH_INFO'], '/') );