Массив заполняется пустым значением, даже если он пуст - PullRequest
0 голосов
/ 17 октября 2019

Почему этот массив с пустым значением, хотя в нем ничего не заполнено?

class URLDynamic {
    private $Parametro;
    private $SepURL;

    private function SetParametro() {
        if ( isset ( $_GET['url'] ) ) {
            $this->Parametro = addslashes ( rtrim ( $_GET['url'] ) );
            $this->SepURL = explode ( "/", $this->Parametro );
        }
    }

    private function SetPages() {
        $this->SetParametro();

        if ( isset ( $this->SepURL[0] ) ) {
            echo $this->SepURL[0];
        } else {
            echo "Home";
        }
    }

var_dump ($ this-> SepURL);

array (1) {[0] => string (0) ""}

Он не падает на else

1 Ответ

2 голосов
/ 17 октября 2019

Если в строке нет разделителя, explode() всегда возвращает массив, содержащий всю строку в качестве единственного элемента, например,

explode('/', 'foo') returns ["foo"]

В случае, если входная строка пуста, это будет массив, содержащий пустую строку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...