PHP explode()不工作
我是php的初学者,在使用explode()函数时遇到了一些问题PHP explode()不工作,php,arrays,explode,Php,Arrays,Explode,我是php的初学者,在使用explode()函数时遇到了一些问题 if (isset($_GET["url"])) { $url = $_GET["url"]; $url = explode("/", $url); echo $url; $controller = $url[0]; $action = $url[1]; } else { $controller = "pages";
if (isset($_GET["url"])) {
$url = $_GET["url"];
$url = explode("/", $url);
echo $url;
$controller = $url[0];
$action = $url[1];
} else {
$controller = "pages";
$action = "home";
}
我正在键入url“localhost/pages/home”,而echo只是打印“Array”,就好像它是空的一样。如果我在使用explode函数之前回显$url,它将显示为“pages/home”。提前感谢。形成一个数组,由拆分的组件组成。当您给它字符串localhost/pages/home
时,它形成三个组件:localhost
、pages
和home
使用输出内容将输出数组本身,只需显示数组
。如果要输出数组的内容,则需要使用或:
<?php
$url = 'localhost/pages/home';
$url = explode("/", $url);
var_dump($url);
这也可以看出
如果您想获取一行,您需要使用echo$url[index]
通过索引访问它。例如,echo$url[2]
将为您提供home
表单一个数组,由拆分的组件组成。当您给它字符串localhost/pages/home
时,它形成三个组件:localhost
、pages
和home
使用输出内容将输出数组本身,只需显示数组
。如果要输出数组的内容,则需要使用或:
<?php
$url = 'localhost/pages/home';
$url = explode("/", $url);
var_dump($url);
这也可以看出
如果您想获取一行,您需要使用echo$url[index]
通过索引访问它。例如,echo$url[2]
将为您提供home
explode()
返回您分隔为数组()的字符串,因此PHP的echo
不支持数组的输出。必须使用print\u r()
或var\u dump()
函数来执行此操作
if (isset($_GET["url"])) {
$url = $_GET["url"];
$url = explode("/", $url);
print_r($url);
$controller = $url[0];
$action = $url[1];
} else {
$controller = "pages";
$action = "home";
}
explode()
返回分隔为数组()的字符串,因此PHP的echo
不支持数组的输出。必须使用print\u r()
或var\u dump()
函数来执行此操作
if (isset($_GET["url"])) {
$url = $_GET["url"];
$url = explode("/", $url);
print_r($url);
$controller = $url[0];
$action = $url[1];
} else {
$controller = "pages";
$action = "home";
}
问题可能与您的输入有关。$GET['url']不是访问url的方式,除非您正在设置它。您可能需要:$\u服务器['PHP\u SELF']:
var_dump($_GET["url"]);
var_dump($_SERVER['HTTP_HOST']);
var_dump($_SERVER['PHP_SELF']);
看
测试此项:
$url=”https://stackoverflow.com/questions/49765341/php-explode-not-working";
$url=分解(“/”,$url);
var_dump($url);
模具();
输出
C:\wamp64\www\blink\vendor\bausch\yii2-purevision\views\report\index.php:75:
array (size=6)
0 => string 'https:' (length=6)
1 => string '' (length=0)
2 => string 'stackoverflow.com' (length=17)
3 => string 'questions' (length=9)
4 => string '49765341' (length=8)
5 => string 'php-explode-not-working' (length=23)
`问题可能与您的输入有关。$GET['url']不是访问url的方式,除非您正在设置它。您可能需要:$\u服务器['PHP\u SELF']:
var_dump($_GET["url"]);
var_dump($_SERVER['HTTP_HOST']);
var_dump($_SERVER['PHP_SELF']);
看
测试此项:
$url=”https://stackoverflow.com/questions/49765341/php-explode-not-working";
$url=分解(“/”,$url);
var_dump($url);
模具();
输出
C:\wamp64\www\blink\vendor\bausch\yii2-purevision\views\report\index.php:75:
array (size=6)
0 => string 'https:' (length=6)
1 => string '' (length=0)
2 => string 'stackoverflow.com' (length=17)
3 => string 'questions' (length=9)
4 => string '49765341' (length=8)
5 => string 'php-explode-not-working' (length=23)
`$\u GET[“url”]
将是查询字符串参数的值,例如http://localhost?url=foo/bar
。由于您的localhost/pages/home
url中没有url=
,因此未设置$\u GET[“url”]
,因此您总是会得到否则的。可能重复的$\u GET[“url”]
将是查询字符串参数的值,例如http://localhost?url=foo/bar
。由于您的localhost/pages/home
url中没有url=
,因此未设置$\u GET[“url”]
,因此您总是会得到else
。数组中可能重复的notprint()
,只需print\u r()
,或者更受IMO欢迎,因为它显示行号和数据类型,var\u dump()
不print()
对于数组,只需print\r()
或更受欢迎的IMO,因为它显示行号和数据类型,var\u dump()