Datenstruktur - Array (Array)
Arrays sind Strukturen, die Daten zusammenhängend speichern und auf die durch Indizierung zugegriffen werden kann. Verwechseln Sie sie nicht mit PHP-Arrays: PHP-Arrays werden tatsächlich als geordnete Hash-Tabellen implementiert.
Hauptunterschiede zwischen SplFixedArray und PHP-Arrays:
SplFixedArray ist ein Standard mit fester Länge (Standardarray) und erlaubt nur Ganzzahlen innerhalb des Bereichs als Indizes. Der Vorteil besteht darin, dass es eine schnellere Array-Implementierung ermöglicht.
PHP-Arrays werden tatsächlich als geordnete Hash-Tabellen (eine Sammlung von Daten) implementiert. <?php <br />
<br>
/*<br>
构造一个新的固定数组,指定长度为5<br>
*/<br>
$array = new SplFixedArray(5);<br>
<br>
/*<br>
为指定的索引赋值<br>
*/<br>
$array[1] = 2;<br>
$array[4] = "foo";<br>
<br>
/*<br>
数据结构:<br>
object(SplFixedArray)#1 (5) {<br>
[0]=><br>
NULL<br>
[1]=><br>
int(2)<br>
[2]=><br>
NULL<br>
[3]=><br>
NULL<br>
[4]=><br>
string(3) "foo"<br>
}<br>
*/<br>
var_dump($array);<br>
<br>
/*<br>
数组长度为5<br>
*/<br>
var_dump($array->count());<br>
<br>
/*<br>
将数组的大小增加到10<br>
*/<br>
$array->setSize(10);<br>
<br>
/*<br>
长度增加的数组,原始数据不会发生变化<br>
object(SplFixedArray)#1 (10) {<br>
[0]=><br>
NULL<br>
[1]=><br>
int(2)<br>
[2]=><br>
NULL<br>
[3]=><br>
NULL<br>
[4]=><br>
string(3) "foo"<br>
[5]=><br>
NULL<br>
[6]=><br>
NULL<br>
[7]=><br>
NULL<br>
[8]=><br>
NULL<br>
[9]=><br>
NULL<br>
}<br>
<br>
*/<br>
var_dump($array);<br>
<br>
/*<br>
为扩充长度后的数组赋值<br>
*/<br>
$array[9] = "asdf";<br>
<br>
<br>
/*<br>
将数组缩小到2的大小<br>
将从索引开始处,保存两个长度<br>
object(SplFixedArray)#1 (2) {<br>
[0]=><br>
NULL<br>
[1]=><br>
int(2)<br>
}<br>
*/<br>
$array->setSize(2);<br>
<br>
<br>
<br>
/*<br>
以下行抛出一个RuntimeException:索引无效或超出范围<br>
*/ <br>
try {<br>
$array["username"]="jack";<br>
} catch(RuntimeException $re) {<br>
/*<br>
RuntimeException: Index invalid or out of range<br>
索引只能是整数<br>
*/<br>
echo "RuntimeException: ".$re->getMessage()."n"; <br>
}<br>
<br>
try {<br>
$array[-1]="jack";<br>
} catch(RuntimeException $re) {<br>
/*<br>
RuntimeException: Index invalid or out of range<br>
索引不合法<br>
*/<br>
echo "RuntimeException: ".$re->getMessage()."n";<br>
}<br>
<br>
try {<br>
$array[5]="jack";<br>
} catch(RuntimeException $re) {<br>
/*<br>
RuntimeException: Index invalid or out of range<br>
索引超出数组长度<br>
*/<br>
echo "RuntimeException: ".$re->getMessage()."n";<br>
}<br>
<br>
/*<br>
查看数组大小<br>
getSize/count <br>
*/<br>
echo $array->getSize();<br>
?>
/*
Konstruieren Sie ein neues festes Array mit einer angegebenen Länge von 5
*/
$array = new SplFixedArray(5);
/*
Weisen Sie dem angegebenen Index
einen Wert zu
*/
$array[1] = 2;
$array[4] = "foo";
/*
Datenstruktur:
object(SplFixedArray)#1 (5) {
[0]=>
NULL
[1]=>
int(2)
[2]=>
NULL
[3]=>
NULL
[4]=>
string(3) „foo“
}
*/
var_dump($array);
/*
Die Array-Länge beträgt 5
*/
var_dump($array->count());
/*
Erhöhen Sie die Größe des Arrays auf 10
*/
$array->setSize(10);
/*
Mit zunehmender Länge des Arrays ändern sich die Originaldaten nicht
object(SplFixedArray)#1 (10) {
[0]=>
NULL
[1]=>
int(2)
[2]=>
NULL
[3]=>
NULL
[4]=>
string(3) „foo“
[5]=>
NULL
[6]=>
NULL
[7]=>
NULL
[8]=>
NULL
[9]=>
NULL
}
*/
var_dump($array);
/*
Weisen Sie dem erweiterten Array einen Wert zu
*/
$array[9] = "asdf";
/*
Verkleinern Sie das Array auf Größe 2
Speichert zwei Längen vom Anfang des Index
object(SplFixedArray)#1 (2) {
[0]=>
NULL
[1]=>
int(2)
}
*/
$array->setSize(2);
/*
Die folgende Zeile löst eine RuntimeException aus: Index ist ungültig oder außerhalb des gültigen Bereichs
*/
versuche es mit {
$array["username"]="jack";
} Catch(RuntimeException $re) {
/*
RuntimeException: Index ungültig oder außerhalb des gültigen Bereichs
Indizes können nur Ganzzahlen sein
*/
echo „RuntimeException: „.$re->getMessage().“n“;
}
versuche es mit {
$array[-1]="jack";
} Catch(RuntimeException $re) {
/*
RuntimeException: Index ungültig oder außerhalb des gültigen Bereichs
Der Index ist ungültig
*/
echo "RuntimeException: ".$re->getMessage()."n";
}
versuche es mit {
$array[5]="jack";
} Catch(RuntimeException $re) {
/*
RuntimeException: Index ungültig oder außerhalb des gültigen Bereichs
Der Index überschreitet die Array-Länge
*/
echo "RuntimeException: ".$re->getMessage()."n";
}
/*
Arraygröße anzeigen
getSize/count
*/
echo $array->getSize();
?>
$data=[1 => 1, 0 => 2, 3 =>
$sfa = SplFixedArray::fromArray($data);
/*
object(SplFixedArray)#1 (4) {
[0]=>
int(2)
[1]=>
int(1)
[2]=>
NULL
[3]=>
int(3)
}
*/
var_dump($sfa);
$data=[1 => 2, true =>5];$sfa = SplFixedArray::fromArray($data);
/*
1 wahr wird in 1 umgewandelt und die Daten mit Index 1 werden in 3 geändert
2 Der ursprüngliche Index wird standardmäßig gespeichert und der Index beginnt bei 0. Wenn die Daten nicht vorhanden sind, ist der Standardwert NULL
object(SplFixedArray)#2 (6) {
[0]=>
NULL
[1]=>
int(3)
[2]=>
int(2)
[3]=>
NULL
[4]=>
NULL
[5]=>
int(5)
}
*/
var_dump($sfa);
$data=[1 => 2, true =>5];
$sfa = SplFixedArray::fromArray($data,false);
/*
1 Versuchen Sie, den im ursprünglichen Array verwendeten numerischen Index zu speichern. Der Standardwert ist wahr;
2 Wenn der ursprüngliche numerische Index nicht gespeichert wird, wird ein Array ungleich NULL zurückgegeben
object(SplFixedArray)#1 (3) {
[0]=>
int(3)
[1]=>
int(2)
[2]=>
int(5)
}
*/
var_dump($sfa);
$data=[1 => 1, 'a' => 2, true =>
/*
Der Index muss eine Ganzzahl
sein
Schwerwiegender Fehler: Nicht abgefangene Ausnahme „InvalidArgumentException“ mit der Meldung „Array darf nur positive Ganzzahlschlüssel enthalten“
*/
//$sfa = SplFixedArray::fromArray($data);
?>

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

WebStorm-Mac-Version
Nützliche JavaScript-Entwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

DVWA
Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software

Dreamweaver Mac
Visuelle Webentwicklungstools