


Eine kurze Diskussion des PHP-Quellcodes 13: Einführung in array_change_key_case und array_chunk
In diesem Artikel wird hauptsächlich die kurze Diskussion zum PHP-Quellcode 13 vorgestellt: Die Einführung von array_change_key_case und array_chunk hat einen gewissen Referenzwert. Jetzt kann ich Freunde in Not darauf verweisen.
Kurze Diskussion PHP-Quellcode 13: Einführung in array_change_key_case, array_chunk
array_change_key_case
(PHP 4 >= 4.2.0, PHP 5)
array_change_key_case – Gibt String-Schlüsselnamen in Kleinbuchstaben zurück. Oder Großbuchstaben-Array
Beschreibung
array array_change_key_case ( array input [, int case] )
array_change_key_case() Alle Schlüsselnamen im Eingabearray in Klein- oder Großbuchstaben ändern. Änderungen werden basierend auf dem letztgenannten Optionsfallparameter vorgenommen. Hier können zwei Konstanten verwendet werden, CASE_UPPER und CASE_LOWER. Der Standardwert ist CASE_LOWER. Diese Funktion ändert den numerischen Index nicht.
Als ich diese Funktion sah, dachte ich, sie sollte die Hash-Tabelle durchlaufen, in der sich das Array befindet, und dann den entsprechenden Schlüsselwert in Groß- oder Kleinbuchstaben umwandeln (wenn es sich um einen Zeichenfolgenschlüsselwert handelt).
Nach dem Lesen Es gibt einige Unterschiede. Das Programm fügt einen zur Referenz jedes Array-Elements hinzu
array_chunk
(PHP 4 >= 4.2.0, PHP 5)
array_chunk – Teilen Sie ein Array in mehrere
Beschreibung
array array_chunk (array input, int size [, bool Preserve_keys])
array_chunk() teilt ein Array in mehrere Arrays auf, wobei die Anzahl der Zellen in jedem Array durch bestimmt wird Größe . Das letzte Array kann einige Elemente weniger enthalten. Das resultierende Array ist eine Zelle in einem mehrdimensionalen Array, dessen Indizes bei Null beginnen.
Setzen Sie den optionalen Parameter „preserve_keys“ auf TRUE, damit PHP die ursprünglichen Schlüsselnamen im Eingabearray beibehalten kann. Wenn Sie FALSE angeben, wird jedes Ergebnisarray mit einer neuen Nummer beginnend bei Null indiziert. Der Standardwert ist FALSE.
Anweisungen zur Programmimplementierung:
array_init(return_value); // 初始化返回值 数组 zend_hash_internal_pointer_reset_ex(Z_ARRVAL_P(input), &pos); while (zend_hash_get_current_data_ex(Z_ARRVAL_P(input), (void**)&entry, &pos) == SUCCESS) { // 遍历HASH TABLE/* 如果不存在,则创建并初始化chunk */ if (!chunk) { MAKE_STD_ZVAL(chunk);array_init(chunk);} /* 给数组元素的引用加一,相当于 *entry->refcount++; */ zval_add_ref(entry); if (preserve_keys) { // 保留键值 key_type = zend_hash_get_current_key_ex(Z_ARRVAL_P(input), &str_key,&str_key_len, &num_key, 0, &pos); // 取元素的key值类型,此值是要所元素的nKeyLength属性判断 if (key_type == HASH_KEY_IS_STRING) { // 字符串类型add_assoc_zval_ex(chunk, str_key, str_key_len, *entry); } else { add_index_zval(chunk, num_key, *entry);} } else { add_next_index_zval(chunk, *entry); // 给返回的子数组添加元素} if (!(++current % size)) { // 如果达到分割的界限,则将分割出来创建的子数组添加到返回数组中,并将子数组置为NULl add_next_index_zval(return_value, chunk); chunk = NULL;}zend_hash_move_forward_ex(Z_ARRVAL_P(input), &pos); // 下一个元素} if (chunk) {add_next_index_zval(return_value, chunk); // 剩余的元素}
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass er für das Lernen aller hilfreich ist. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website !
Verwandte Empfehlungen:
Eine kurze Diskussion des PHP-Quellcodes 12: Über return_value Rückgabewert
Eine kurze Diskussion von PHP-Quellcode 11: Einführung in array_key_exists, in_array
Eine kurze Diskussion des PHP-Quellcodes 10: Über array_keys, array_values Funktionen
Das obige ist der detaillierte Inhalt vonEine kurze Diskussion des PHP-Quellcodes 13: Einführung in array_change_key_case und array_chunk. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Gründe für einen Phpessionsfehler sind Konfigurationsfehler, Cookie -Probleme und Sitzungsablauf. 1. Konfigurationsfehler: Überprüfen Sie die richtige Sitzung und setzen Sie die korrekte Sitzung. 2. Kookie -Problem: Stellen Sie sicher, dass der Cookie korrekt eingestellt ist. 3.Sesion läuft ab: Passen Sie die Sitzung an.

Zu den Methoden zur Debugg -Sitzungsprobleme in PHP gehören: 1. Überprüfen Sie, ob die Sitzung korrekt gestartet wird. 2. Überprüfen Sie die Lieferung der Sitzungs -ID; 3. Überprüfen Sie den Speicher und das Lesen von Sitzungsdaten. 4. Überprüfen Sie die Serverkonfiguration. Durch Ausgabe von Sitzungs-ID und Daten, Anzeigen von Sitzungsdateiinhalten usw. können Sie effektiv Diagnose und Lösen von Sitzungen im Zusammenhang mit Sitzungen diagnostizieren und lösen.

Mehrere Anrufe bei Session_Start () führen zu Warnmeldungen und möglichen Datenüberschreibungen. 1) PHP wird eine Warnung ausstellen und veranlassen, dass die Sitzung gestartet wurde. 2) Dies kann zu unerwarteten Überschreibungen von Sitzungsdaten führen. 3) Verwenden Sie Session_Status (), um den Sitzungsstatus zu überprüfen, um wiederholte Anrufe zu vermeiden.

Das Konfigurieren des Sitzungslebenszyklus in PHP kann durch Einstellen von Sitzungen erreicht werden. 1) Session.gc_maxLifetime steuert die Überlebenszeit der serverseitigen Sitzungsdaten, 2) Sitzung.cookie_Lifetime steuert den Lebenszyklus von Client-Cookies. Wenn der Keks auf 0 eingestellt ist, läuft es, wenn der Browser geschlossen ist.

Die Hauptvorteile der Verwendung von Datenbankspeichersitzungen sind Persistenz, Skalierbarkeit und Sicherheit. 1. Persistenz: Auch wenn der Server neu gestartet wird, können die Sitzungsdaten unverändert bleiben. 2. Skalierbarkeit: Anwendbar für verteilte Systeme, um sicherzustellen, dass Sitzungsdaten zwischen mehreren Servern synchronisiert werden. 3. Sicherheit: Die Datenbank bietet verschlüsselten Speicher zum Schutz vertraulicher Informationen.

Das Implementieren der benutzerdefinierten Sitzung in PHP kann durch die Implementierung der SessionHandlerInterface -Schnittstelle durchgeführt werden. Die spezifischen Schritte umfassen: 1) Erstellen einer Klasse, die SessionHandlerInterface wie CustomSessionHandler implementiert; 2) Umschreiben von Methoden in der Schnittstelle (z. B. offen, schließen, lesen, schreiben, zerstören, GC), um die Lebenszyklus- und Speichermethode von Sitzungsdaten zu definieren; 3) Registrieren Sie einen benutzerdefinierten Sitzungsprozessor in einem PHP -Skript und starten Sie die Sitzung. Auf diese Weise können Daten in Medien wie MySQL und Redis gespeichert werden, um Leistung, Sicherheit und Skalierbarkeit zu verbessern.

SessionID ist ein Mechanismus, der in Webanwendungen verwendet wird, um den Benutzersitzstatus zu verfolgen. 1. Es handelt sich um eine zufällig generierte Zeichenfolge, mit der die Identitätsinformationen des Benutzers während mehrerer Interaktionen zwischen dem Benutzer und dem Server aufrechterhalten werden. 2. Der Server generiert und sendet ihn über Cookies- oder URL -Parameter an den Client, um diese Anforderungen in mehreren Anforderungen des Benutzers zu identifizieren und zu verknüpfen. 3. Die Erzeugung verwendet normalerweise zufällige Algorithmen, um Einzigartigkeit und Unvorhersehbarkeit zu gewährleisten. 4. In der tatsächlichen Entwicklung können In-Memory-Datenbanken wie Redis verwendet werden, um Sitzungsdaten zu speichern, um die Leistung und Sicherheit zu verbessern.

Das Verwalten von Sitzungen in staatenlosen Umgebungen wie APIs kann durch Verwendung von JWT oder Cookies erreicht werden. 1. JWT ist für Staatenlosigkeit und Skalierbarkeit geeignet, aber es ist groß, wenn es um Big Data geht. 2. Kookies sind traditioneller und einfacher zu implementieren, müssen jedoch mit Vorsicht konfiguriert werden, um die Sicherheit zu gewährleisten.


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

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

SublimeText3 Linux neue Version
SublimeText3 Linux neueste Version

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Herunterladen der Mac-Version des Atom-Editors
Der beliebteste Open-Source-Editor

EditPlus chinesische Crack-Version
Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung
