首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP explode()不工作

PHP explode()不工作
EN

Stack Overflow用户
提问于 2018-04-11 09:59:22
回答 3查看 2.7K关注 0票数 1

我是php的初学者,我对explode()函数有一些问题。

代码语言:javascript
复制
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”,就好像它是空的一样。如果我在使用分解函数之前回显$url,它会显示为"pages/home“。提前谢谢。

EN

回答 3

Stack Overflow用户

发布于 2018-04-11 10:05:54

explode()返回以数组()形式分隔的字符串,因此echo不支持数组的输出。您必须使用print_r()var_dump()函数来执行此操作。

代码语言:javascript
复制
if (isset($_GET["url"])) {
    $url = $_GET["url"];
    $url = explode("/", $url);
    print_r($url);
    $controller = $url[0];
    $action     = $url[1];
} else {
    $controller = "pages";
    $action     = "home";
}
票数 3
EN

Stack Overflow用户

发布于 2018-04-11 10:08:28

问题可能出在您的输入上。除非您设置了$GET' URL‘,否则它不是您访问URL的方式。您可能需要:$_SERVER‘’PHP_SELF‘:

代码语言:javascript
复制
var_dump($_GET["url"]); 
var_dump($_SERVER['HTTP_HOST']); 
var_dump($_SERVER['PHP_SELF']); 

参见PHP Server Variables

测试: $url = "https://stackoverflow.com/questions/49765341/php-explode-not-working"; $url = explode("/", $url); var_dump($url); die();

输出

代码语言:javascript
复制
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)

`

票数 2
EN

Stack Overflow用户

发布于 2018-04-11 10:05:53

forms数组,由拆分的组件组成。当您为其提供字符串localhost/pages/home时,它将形成三个组件:localhostpageshome

使用输出内容将输出数组本身的,并且只显示Array。如果要输出数组的内容,则需要使用或

代码语言:javascript
复制
<?php

$url = 'localhost/pages/home';
$url = explode("/", $url);
var_dump($url);

返回:

代码语言:javascript
复制
array(3) {
  [0]=>
  string(9) "localhost"
  [1]=>
  string(5) "pages"
  [2]=>
  string(4) "home"
}

这也可以在上看到。

如果您想获取单个行,则需要使用echo $url[index]按索引访问它。例如,echo $url[2]将为您提供home

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49765341

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档