2016-12-03 5 views
0

Ich möchte PHP-Methode aufrufen split in meinem ControllerVersuchte Funktion "Split" von Namensraum "Controller"

var_dump(split(' ',getimagesize($file)[3])); 

zu nennen, aber es gibt dieses Problem

enter image description here

Namespace Mein Controller ist "Controller", ich weiß nicht, warum es versucht, "Split" von ihm zu nennen. Bitte helfen, und danke!

+0

Da Sie sich im Namespace 'Controller' befinden, versucht PHP' Controller/split' zu nennen, PHP-Kernfunktionen befinden sich im globalen Namespace, daher müssen Sie sie mit einem Backslash aufrufen. '\ split (...);' –

+0

Welche PHP-Version verwendest du? –

+0

Erstens danke für Ihre Antwort, ich habe es bereits versucht und ich hatte dieses Problem "Versuchte, Funktion" Split "aus dem globalen Namespace aufzurufen." funktioniert immer noch nicht –

Antwort

3

Split Funktion ist veraltet und wurde seit php7 entfernt.

Also, versuchen, split('something') aufrufen bedeutet, dass PHP nicht für globale split Funktion sucht, die nicht bereits existiert, aber für Ihre benutzerdefinierte split Funktion in einem bestimmten Namespace. Offensichtlich definieren Sie split nicht in Ihrem Namespace. Als Ergebnis - Funktion split ist nicht gefunden.

Die Lösung ist, mehr aktuelle Funktion zu verwenden, in diesem Fall ist es explode oder preg_split.

+1

Der 1-zu-1-Ersatz für 'split' ist' preg_split'. –

+1

Wenn es keine Regexps gibt - 'explode' ist genug. Aber danke, fügte zu meiner Antwort hinzu. –

+0

In meinem Fall wurde das gleiche Problem mit 'json_encode' gelöst, indem die' php7-json' Erweiterung installiert wurde – vladkras

Verwandte Themen