为什么在php中那个path还需要判断存在不存在

为什么在php中那个path还需要判断存在不存在,而且不判断的时候会报错 Notice: Use of undefined constant path - assumed 'path' in F:wampwww8383list.php on line

想问一下这个怎么加。

$url=parse_url($url);
//只去path的值
print_r($url);
$url=$url[path];

阅读 2.9k
4 个回答

1,这个函数可以接受两个参数,第1个参数是url字符串,第2个参数是php中定义的各个url组件的标识符号。第2个参数是可选的,默认为-1,该函数在php手册中的简单描述如下:

mixed parse_url ( string $url [, int $component = -1 ] )

要单独获取url path的话需要这么写:

parse_url($url, PHP_URL_PATH);

如果$url中有url path这个组件它就会返回对应的path字符串,如果没有就会返回NULL。

2,一个url地址有很多组成部分(组件),但实际的url地址不会将这些组件都包含进去,往往是包含一部分组件。url path是其中的一个组件,它也可以不被包含进去。比如 http://www.baidu.com,就只有scheme和host没有其它的组件。

可以参考下php的手册,手册中对这个函数讲的很详细:http://php.net/manual/zh/func...

url的path可为空,如www.baidu.com

if(!empty($url['path'])){
    $path = $url['path'];
}

你可以直接取出来像这样

parse_url($url, PHP_URL_PATH);

还有关联数组的方括号里应该是字符串,应该加上引号

$url['path'];
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题