Warum kann ich nicht sofort auf das explodierte Array-Element zugreifen?

7

Warum kann ich nicht sofort auf Elemente im Array zugreifen, das von explode() ?

zurückgegeben wurde?

Zum Beispiel funktioniert das nicht:

%Vor%

Aber dieser Code tut:

%Vor%

Ich programmiere normalerweise nicht in PHP, daher ist das ziemlich verwirrend für mich.

    
Mike Atlas 15.02.2010, 21:43
quelle

6 Antworten

4

Tatsächlich unterstützt PHP diese Syntax einfach nicht. In Sprachen wie Javascript (zum Beispiel) kann der Parser komplexere Verschachtelungs- / Verkettungsoperationen durchführen, aber PHP ist keine dieser Sprachen.

    
Brian Lacy 15.02.2010, 22:04
quelle
6

Der Grund, warum es nicht offensichtlich ist, wie man das macht, ist, dass explode false zurückgeben kann. Sie sollten den Rückgabewert überprüfen, bevor Sie ihn indexieren.

    
James McLeod 15.02.2010 21:47
quelle
5

Es ist versionsabhängig. PHP 5.4 unterstützt den Zugriff auf das zurückgegebene Array.

Quelle: Ссылка

    
avetarman 01.09.2013 11:26
quelle
2

Da explode () ein Array zurückgibt, können Sie andere Funktionen wie $username = current(explode('.',$thread_user));

verwenden     
qualbeen 15.02.2010 22:19
quelle
1

Ich benutze nur meine eigene Funktion:

%Vor%

Der Code für Ihr Beispiel wäre dann:

%Vor%     
budidino 09.04.2012 16:35
quelle
1

Hier geht's zu einer Zeile:

$username = current(array_slice(explode('.',$thread_user), indx,1));

Dabei steht indx für den gewünschten Index aus dem Array in Explosionsdarstellung. Ich bin neu in PHP, aber ich mag explodierte Array sagen:)

    
ragamufin 06.05.2012 12:37
quelle

Tags und Links