Eine kurze Einführung in Arrays im PHP-Tutorial
1. Übersicht
Eine kurze Einführung und grundlegende Verwendung
Verwendung gängiger Standardbibliotheksfunktionen für PHP-Arrays
PHP-Array simuliert gängige Datenstrukturen
Anweisungen und Aufmerksamkeitspunkte für die Verwendung von PHP-Array
-
FAQ
2. Kurze Einführung und grundlegende Verwendung
Das Array in PHP ist eigentlich eine geordnete Karte. Eine Karte ist ein Typ, der Schlüsseln Werte zuordnet.
Verwenden Sie
<?php $arr = array(1, 2, 3, 4);
, um ein normales Array zu definierenWir können auch ein assoziatives Array definieren
<?php $arr = array('a' => 1, 'z' => 100); >1
Wenn die PHP-Version >= 5.4 ist, können wir das Array präziser definieren
<?php $arr = [1, 2, 3, 4]; $arr = ['a' => 1, 'z' => 100]; 123
PHP-Arrays sind sehr leistungsfähig. Sie können Arrays gemischter Typen definieren
<?php $arr = [1, 'hello' => '11', 'arr' => [1, 'a'=>'b']];12
Auf den Array-Zugriffsvorgang können Sie über
[index]
zugreifen:
<?php $arr = [1, 'hello' => '11', 'arr' => [1, 'a'=>'b']]; var_dump($arr[0]); // 1var_dump($arr['arr']); // [1, 'a' => 'b']1234
Sie können den Wert des Array-Elements auch über
[]
<?php $arr = [1, 'hello' => '11', 'arr' => [1, 'a'=>'b']];$arr[0] = 'test'; var_dump($arr); 1234
- <🎜 ändern >
- Sie können dem initialisierten Array auch weiterhin Array-Elemente hinzufügen
<?php$arr = [1, 2, 3, 4]; //追加元素$arr[] = 'a';// 添加 key, value$arr['test'] = 'b';123456
- Natürlich muss der Vorgang zum Löschen von Array-Elementen unterstützt werden
<?php$arr = [1, 'hello' => '11', 'arr' => [1, 'a'=>'b']];unset($arr['hello']); var_dump($arr['hello']); // null1234
- In der Entwicklung müssen Sie häufig Arrays durchlaufen. Sie können foreach verwenden:
<?php $arr = [1, 'hello' => '11', 'arr' => [1, 'a'=>'b']];foreach($arr as $key => $value) { var_dump($key . ' => ' . $value); }12345
- Zum Vergleich zwischen Arrays können Arrays die Größe nicht vergleichen, aber sie können anhand bestimmter Bedingungen beurteilen, ob sie gleich sind
<?php // $a == $b 相等 如果 $a 和 $b 具有相同的键/值对则为 TRUE。 // $a === $b 全等 如果 $a 和 $b 具有相同的键/值对并且顺序和类型都相同则为 TRUE。$a = [1, 2];$b = ['1' => 2, 0 => 1]; var_dump($a == $b); // truevar_dump($a === $b); // false123456789
3. Praktische Array-Tool-Funktionen Beherrschen Sie die Grundoperationen von Arrays (Definition und Verwendung, Hinzufügen, Löschen, Ändern, Überprüfen, Durchlaufen). Danach können Sie das Array in der Entwicklung verwenden, diese Operationen jedoch allein Bei weitem nicht genug. Um den Anforderungen komplexer und veränderlicher Entwicklungsszenarien für Array-Operationen gerecht zu werden, bietet PHP leistungsstarke Funktionen. Eine Reihe von Array-Operationsfunktionen
– Ermitteln Sie die Array-Länge
<?php $arr = [1, 2, 3]; var_dump(count($arr)); // 3123
- Wenn Sie feststellen möchten, ob eine Variable ein Array ist, können Sie is_array() verwenden:
<?php $arr = [1, 2, 3];$notArr = '111'; var_dump(is_array($arr)); // truevar_dump(is_array($notArr)); // false12345
- hat mehr Schlüssel oder Wert, um Bestimmen Sie, ob sich das Element im Array befindet
// 判断key 是否在数组中$arr = ['a' => 2, 4]; var_dump(isset($arr['a'])); // true var_dump(array_key_exists('a', $arr)); // true// 判断 value 是否在数组中in_array(5, $arr); // false1234567
- Alle Elemente im Array abrufen Schlüssel
<?php $arr = ['a' => 2, 4];$keys = array_keys($arr); // ['a', 1]123
- Alle Werte des Arrays (Werte) abrufen
<?php $arr = ['a' => 2, 4];$values = array_values($arr); // [2, 4]123
- Um zu zählen, wie oft jeder Elementwert von Wenn ein Array angezeigt wird, können Sie array_count_values verwenden:
<?php$arr = [1, 3, 2, 'a' => 1, 'b' => 2]; var_dump(array_count_values($arr));/* array(3) { [1]=> int(2) [3]=> int(1) [2]=> int(2) } */1234567891011121314
- Zusammenführung von Arrays
<?php$arr1 = ['a' => 1, 2, 'b' => 3];$arr2 = ['b' => 5, 2]; var_dump( array_merge($arr1, $arr2) ); /* array(4) { ["a"]=> int(1) [0]=> int(2) ["b"]=> int(5) [1]=> int(2) } // 你也可以使用 + 操作符, 请注意两种方法结果的差别 var_dump($arr1 + $arr2); */12345678910111213141516171819
- Wenn Sie Wenn Sie den Schnittpunkt von zwei oder mehr Array-Werten berechnen müssen, können Sie den Array-Differenzsatz
array_intersect
<?php$arr1 = [1, 2, 3];$arr2 = [5, 2]; var_dump( array_intersect($arr1, $arr2) ); // [2]1234
- (nach Wert und nach Schlüssel) verwenden.
<?php$a = [1, 2];$b = ['1' => 2, 0 => 1, 4];//array_diff 按照索引 和 值 比较差异var_dump(array_diff($a, $b));// array_diff_key() 函数用于比较两个(或更多个)数组的键名 ,并返回差集 var_dump(array_diff_key($a, $b)); 123456789
- Wenn Sie ein Subarray benötigen, können Sie array_slice verwenden, um einen dem Python-Slicing ähnlichen Effekt zu erzielen
<?php$arr = [1, 2, 3, 4, 5, 6, 7, 8];// 从第3个元素开始, 直到结束var_dump(array_slice($arr, 2));// 从第3个元素开始, 长度为4var_dump(array_slice($arr, 2, 4));// 从第3个元素开始,到倒数第3个元素var_dump(array_slice($arr, 2, -2));// 注意 索引的差别var_dump(array_slice($arr, 2, -2, true));12345678910111213
- In Bezug auf den Sortiervorgang von Arrays handelt es sich auch um eine relativ häufige Entwicklungsanforderung. Es ist zu beachten, dass:
PHP-Sortierfunktionen alle direkt auf das Array selbst wirken gibt kein neues sortiertes Array zurück. , der folgende Code bietet mehrere gängige Szenarien. Weitere Informationen finden Sie in PHP zum Sortieren von Arrays:
<?php// 按照值(value)升序排序, 索引更新$arr = [6,'a'=>2, 3, 4, 6, -1, 7, 8]; sort($arr); var_dump($arr);// 按照值(value)升序排序, 索引保持$arr = [6,'a'=>2, 3, 4, 6, -1, 7, 8]; asort($arr); var_dump($arr);// 按照值(value)降序排序, 索引保持$arr = [6,'a'=>2, 3, 4, 6, -1, 7, 8]; arsort($arr); var_dump($arr);// 按照 键(key)进行升序排序 , 索引保持$arr = ['a' => 10, 'c' => 1, 'b' => 12]; ksort($arr); var_dump($arr);// 按照 键(key)进行降序排序 , 索引保持$arr = ['a' => 10, 'c' => 1, 'b' => 12]; krsort($arr); var_dump($arr);// 用户自定义排序, 根据值(value) , 索引更新// 请注意:对于自定义的比较函数,// 在第一个参数小于,等于或大于第二个参数时,// 该比较函数必须相应地返回一个小于,等于或大于 0 的整数。function cmp($val1, $val2){ if($val1 > $val2) { return 1; } elseif ($val1 == $val2) { return 0; } else { return -1; } }$arr = [ 'a' => 1, 'A' => 3, 'B' => 2, ]; usort($arr, cmp); var_dump($arr);// 根据key 自定义排序规则,请使用 uksort(), 用法同usort()123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
- Über Arrays und Zeichenfolgen Zu den Operationen gehören im Allgemeinen das Ausschneiden von Zeichenfolgen und das Zusammenführen von Array-Elementen zu Zeichenfolgen. Dies kann mit Hilfe von Explodieren und Implodieren erreicht werden.
<?phpvar_dump(explode(',', "a,a,a,a,a,a")); // 以,为分割符将字符串"a,a,a,a,a,a" 切割成数组var_dump(implode('-', [1, 2, 3, 4, 5])); //以 - 为 拼接符 将 数组[1, 2, 3, 4, 5] 拼接成字符串1234
Über PHP Weitere Array-bezogene Funktionen können Sie erreichen Weitere Informationen finden Sie im offiziellen Dokument PHP-Array-Funktionsliste
4. Arrays simulieren gängige Datenstrukturen PHP-Arrays können gängige Datenstrukturen simulieren, die offensichtlichste ist die Zuordnung von Tabellen und Wörterbücher finden Sie hier eine kurze Einführung in die Simulation von Stapeln und Warteschlangen durch PHP-Arrays.
- Simulationsstapel (FILO)
<?php$stack = [1, 2, 3, 4];//入栈array_push($stack, -1); var_dump($stack); // [1, 2, 3, 4, -1]//出栈$e = array_pop($stack); var_dump($e); // -1var_dump($stack); // [1, 2, 3, 4]1234567891011
- Simulationswarteschlange (FIFO)
<?php$queue = [];//入队列array_unshift($queue, 1); array_unshift($queue, 2); array_unshift($queue, 3); array_unshift($queue, 4);//出队列$e = array_pop($queue); var_dump($e); // 1$e = array_pop($queue); var_dump($e); // 2$e = array_pop($queue); var_dump($e); // 3$e = array_pop($queue); var_dump($e); // 4123456789101112131415161718
5. Anweisungen und Vorsichtsmaßnahmen für die Verwendung von PHP-Arrays
- PHP-Array-Schlüsselwerte haben die folgenden erzwungenen Konvertierungen
- Strings, die zulässige Ganzzahlwerte enthalten, werden in Ganzzahlen konvertiert. Beispielsweise wird der Schlüsselname „8“ tatsächlich als 8 gespeichert. „08“ wird jedoch nicht umgewandelt, da es sich nicht um einen zulässigen Dezimalwert handelt.
- Gleitkommazahlen werden ebenfalls in ganze Zahlen umgewandelt, d. h. ihre Dezimalteile werden gerundet. Beispielsweise wird der Schlüsselname 8.7 tatsächlich als 8 gespeichert.
- Boolesche Werte werden ebenfalls in Ganzzahlen umgewandelt. Das heißt, der Schlüsselname true wird tatsächlich als 1 gespeichert und der Schlüsselname false wird als 0 gespeichert.
Null 会被转换为空字符串,即键名 null 实际会被储存为 “”。
数组和对象不能被用为键名。坚持这么做会导致警告:Illegal offset type。
因此以下代码可能导致意外的结果,请注意以下代码的输出:
<?php$arr = [1, 2, '8' => 3];$arr[false] = -20; var_dump($arr); // [-20, 2, '8' => 3]$arr[8] = 20; var_dump($arr); // [-20, 2, 8 => 20]$arr[8.7] = 15; var_dump($arr); // [-20, 2, 8 => 15]$arr["8.7"] = 10; var_dump($arr); // [-20, 2, 8 => 10]$arr[$val] = 5; // 注意$val之前为声明,因此默认值为null, 数组key为null时会被转为""空串 var_dump($arr); // [-20, 2, 8 => 10, "" => 5]$arr[bar] = 6; // 标识符被转化为 'bar'var_dump($arr); // [-20, 2, 8 => 10, "" => 5, 'bar' => 6]12345678910111213141516171819202122
关于php数组的类型转换
php数组可以将其他一切类型转为数组,转化的效果请参考一下代码,重点观察对 null 和 object对象的转化:
<?php$var = true; var_dump((array)$var);/* array(1) { [0]=> bool(true) }*/$var = 1; var_dump((array)$var);/* array(1) { [0]=> int(1) }*/$var = 1.1; var_dump((array)$var);/* array(1) { [0]=> float(1.1) }*/$var = "111"; var_dump((array)$var);/* array(1) { [0]=> string(3) "111" }*/$var = null; var_dump((array)$var); // 返回空数组/* array(0) { } */class Cls { public $a = 1; protected $b = 2; private $c = 3; } var_dump((array)(new Cls)); // 可见性不同 key值格式有所不同/* array(3) { ["a"]=> int(1) ["*b"]=> int(2) ["Clsc"]=> int(3) } */123456789101112131415161718192021222324252627282930313233343536373839404142434445
关于PHP类型转换的了解,请参考PHP-类型转换的判别
六、FAQ
如何添加数组元素更为高效?
array_push($arr, key, value)
or$arr[key] = value
? 答: 后者更为高效, 更多细节请参考官方资料isset or array_key_exists() ? 答:
对于存在key的数组,如果 对应的value = null ,
isset($arr[key])
会返回 false;而对于array_key_exists
只要对应key存在就会返回true;然而在效率方面,
isset
效率 高于array_key_eixsts
在判断数组元素是否存在的最佳实践如下:
<?php if (isset($arr[$key]) or array_key_exists($key, $arr)) { ...}1234
数组合并
+
和array_merge
的区别? 答:可以参考该资料array_diff
与==
的异同? 答:语义有所差别, 数组的相等比较 推荐只使用==
遍历方式那种更高效? 答:foreach 方式 遍历 最为高效
Das obige ist der detaillierte Inhalt vonEine kurze Einführung in Arrays im PHP-Tutorial. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

Dieses Tutorial zeigt, wie XML -Dokumente mit PHP effizient verarbeitet werden. XML (Extensible Markup-Sprache) ist eine vielseitige textbasierte Markup-Sprache, die sowohl für die Lesbarkeit des Menschen als auch für die Analyse von Maschinen entwickelt wurde. Es wird üblicherweise für die Datenspeicherung ein verwendet und wird häufig verwendet

JWT ist ein offener Standard, der auf JSON basiert und zur sicheren Übertragung von Informationen zwischen Parteien verwendet wird, hauptsächlich für die Identitätsauthentifizierung und den Informationsaustausch. 1. JWT besteht aus drei Teilen: Header, Nutzlast und Signatur. 2. Das Arbeitsprinzip von JWT enthält drei Schritte: Generierung von JWT, Überprüfung von JWT und Parsingnayload. 3. Bei Verwendung von JWT zur Authentifizierung in PHP kann JWT generiert und überprüft werden, und die Funktionen und Berechtigungsinformationen der Benutzer können in die erweiterte Verwendung aufgenommen werden. 4. Häufige Fehler sind Signaturüberprüfungsfehler, Token -Ablauf und übergroße Nutzlast. Zu Debugging -Fähigkeiten gehört die Verwendung von Debugging -Tools und Protokollierung. 5. Leistungsoptimierung und Best Practices umfassen die Verwendung geeigneter Signaturalgorithmen, das Einstellen von Gültigkeitsperioden angemessen.

Wenn Sie ein erfahrener PHP-Entwickler sind, haben Sie möglicherweise das Gefühl, dass Sie dort waren und dies bereits getan haben. Sie haben eine beträchtliche Anzahl von Anwendungen entwickelt, Millionen von Codezeilen debuggt und eine Reihe von Skripten optimiert, um op zu erreichen

Eine Zeichenfolge ist eine Folge von Zeichen, einschließlich Buchstaben, Zahlen und Symbolen. In diesem Tutorial wird lernen, wie Sie die Anzahl der Vokale in einer bestimmten Zeichenfolge in PHP unter Verwendung verschiedener Methoden berechnen. Die Vokale auf Englisch sind a, e, i, o, u und sie können Großbuchstaben oder Kleinbuchstaben sein. Was ist ein Vokal? Vokale sind alphabetische Zeichen, die eine spezifische Aussprache darstellen. Es gibt fünf Vokale in Englisch, einschließlich Großbuchstaben und Kleinbuchstaben: a, e, ich, o, u Beispiel 1 Eingabe: String = "TutorialPoint" Ausgabe: 6 erklären Die Vokale in der String "TutorialPoint" sind u, o, i, a, o, ich. Insgesamt gibt es 6 Yuan

Statische Bindung (statisch: :) implementiert die späte statische Bindung (LSB) in PHP, sodass das Aufrufen von Klassen in statischen Kontexten anstatt Klassen zu definieren. 1) Der Analyseprozess wird zur Laufzeit durchgeführt.

Was sind die magischen Methoden von PHP? Zu den magischen Methoden von PHP gehören: 1. \ _ \ _ Konstrukt, verwendet, um Objekte zu initialisieren; 2. \ _ \ _ Destruct, verwendet zur Reinigung von Ressourcen; 3. \ _ \ _ Call, behandeln Sie nicht existierende Methodenaufrufe; 4. \ _ \ _ GET, Implementieren Sie den dynamischen Attributzugriff; 5. \ _ \ _ Setzen Sie dynamische Attributeinstellungen. Diese Methoden werden in bestimmten Situationen automatisch aufgerufen, wodurch die Code -Flexibilität und -Effizienz verbessert werden.
