Php 当前url的回显部分出现错误
这是我的url表单:Php 当前url的回显部分出现错误,php,Php,这是我的url表单: http://dev.test.de/profile/id/ 我正在尝试回显当前url的id $parts = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; $path_parts= explode('/', $parts[path]); echo $user = $path_parts[2]; 但它说: 警告:字符串偏移量“路径”非法 谢谢您的$parts变量是一个字符串 $parts = 'http://' .
http://dev.test.de/profile/id/
我正在尝试回显当前url的id
$parts = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
$path_parts= explode('/', $parts[path]);
echo $user = $path_parts[2];
但它说:
警告:字符串偏移量“路径”非法
谢谢您的
$parts
变量是一个字符串
$parts = 'http://' . $_SERVER[HTTP_HOST] . $_SERVER[REQUEST_URI];
$path_parts= explode('/', $parts);
echo $user = $path_parts[4];
这将返回id。请尝试此操作
$parts = "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$path_parts= explode('/', $parts);
echo $user = $path_parts[2];
这个,应该对你有用
$parts = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
$path_parts= explode('/', $parts);
echo $user = $path_parts[4];
这是第四个指数,因为
- [0]包含
“http:
- [1] 包含
“
- [2] 包含“dev.test.de”
- [3] 包含
“配置文件”
- [4] 包含
“id”
- 您的示例中有两个问题
$parts = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
$\u服务器
是一个超级全局数组,HTTP\u主机
是它的索引之一。由于这是一个关联数组,您需要用一对单引号或双引号将索引名括起来。因此它应该是$\u SERVER['HTTP\u HOST']
,因为它在字符串中,所以需要使用{}
插入变量/数组名。所以它看起来像:
$parts = "http://{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}";
或者简单地将它们分开作为
$parts = "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
你的第二个问题是:
$path_parts= explode('/', $parts[path]);
就您的代码而言,$parts
是字符串而不是数组,因此$parts[path]
在这里没有任何意义。应该是:
$path_parts= explode('/', $parts);
调用explode作为
$path\u parts=explode(“/”,$parts)代码>没有索引,例如$parts[path]
<代码>$parts
是一个字符串。你正在把它炸成一个阵列,我在这里回答:你试过这个吗?这是错误的。[2] 不是正确的索引。