PHP explode()函数使用异常求助:新手遇数组输出显示Array问题
解决explode()后echo数组只显示"Array"的问题
嘿,刚接触PHP遇到这个问题太正常了,我来给你把事儿说清楚:
为什么echo $url只显示"Array"?
explode()函数执行后返回的是一个数组,但echo只能直接输出字符串类型的数据。当你用echo输出数组时,PHP会自动把数组转换成字符串"Array",这就是你看到的结果。
怎么正确查看数组内容?
如果你想看到数组里的具体元素,推荐用这两个函数:
print_r():专门用来打印数组结构,可读性很强var_dump():不仅能显示数组元素,还能展示每个元素的数据类型和长度
把你的echo代码改成下面这样就行:
// 替换原来的echo $url; print_r($url); // 要是想让输出格式更美观,加上<pre>标签: echo '<pre>'; print_r($url); echo '</pre>'; // 或者用var_dump看更详细的信息: var_dump($url);
额外的小建议(避免后续踩坑)
你的代码里直接取$url[1]有风险——如果用户输入的URL只有一段(比如localhost/pages),$url[1]就不存在,会抛出Undefined offset错误。可以加个判断来处理这种情况:
if (isset($_GET["url"])) { $url = $_GET["url"]; $url = explode("/", $url); echo '<pre>'; print_r($url); echo '</pre>'; $controller = isset($url[0]) ? $url[0] : "pages"; $action = isset($url[1]) ? $url[1] : "home"; } else { $controller = "pages"; $action = "home"; }
这样不管用户输入的URL有几段,都不会报错啦~
内容的提问来源于stack exchange,提问作者C.Letts
相关产品推荐
相关产品推荐

