Zeichnet als Arrays in PHP

7

Ich weiß, dass Strings in PHP sind ..... Strings, aber zum Beispiel kann ich tun

%Vor%

Warum kann ich durch sie gehen wie in einem Array, aber kann sie nicht mit zählen zählen? (Ich weiß, dass ich strlen ()) verwenden kann

    
dofenco 19.06.2013, 14:14
quelle

2 Antworten

20

Weil es so funktioniert. Sie können auf bestimmte Byte-Offsets mithilfe der Klammernotation zugreifen. Das bedeutet jedoch nicht, dass die Zeichenfolge ein Array ist und dass Sie Funktionen verwenden können, die darauf Arrays erwarten. $string[int] ist syntaktischer Zucker für substr($string, int, 1) , nicht mehr und nicht weniger.

    
deceze 19.06.2013 14:16
quelle
6

Weil Strings keine Arrays sind. Sie ermöglichen Ihnen, Buchstaben mit der gleichen Syntax für Ihre Bequemlichkeit zu finden, aber das ist es.

Arrays können auch Schlüssel haben und können sortiert werden. Wenn Zeichenfolgen vollständige Arrays wären, könnten Sie jedem Buchstaben einen Schlüssel geben oder die Buchstaben mit einer der Array-Funktionen alphabetisch sortieren.

Lange Rede, kurzer Sinn: Ein String ist kein Array, auch wenn ein winziger Teil der Syntax ähnlich ist.

    
GolezTrol 19.06.2013 14:18
quelle

Tags und Links