[PHP源码阅读]array_push和array_unshift函数,arrayunshift_PHP教程
[PHP源码阅读]array_push和array_unshift函数,arrayunshift
在PHP中,在数组中添加元素也是一种很常用的操作,分别有在数组尾部和头部添加元素,看看PHP内部是如何实现数组插入的操作。
我在github有对PHP源码更详细的注解。感兴趣的可以围观一下,给个star。PHP5.4源码注解。可以通过commit记录查看已添加的注解。
array_push
<p>int array_push ( array &$array , mixed $value1 [ , mixed $... ] )</p>
array_push函数将array参数看做一个栈,将传递进来的变量压倒array的尾部。array的长度随着被压进去的变量个数增加。下面的代码有意义的效果:
$array[] = $var;
如果只需要添加一个元素到数组,使用$array[] 这种方式更好,因为这样做不用调用函数。
运行示例
<span>$arr</span> = <span>array</span><span>(); </span><span>array_push</span>(<span>$arr</span>, 1, 2, 3); <span>//</span><span> return 3; $arr = [1, 2, 3]</span>
运行步骤
array_push函数相对比较简单,就相当于压栈操作,把array看做一个栈,然后对每一个参数,让其变成引用,引用数加一,然后添加它到数组的尾部。
内部实现的流程图如下:
$arr = array(1, 2, 3);
array_unshift($arr, 4, 5, 6); // 4 5 6 1 2 3
运行步骤
<p>1、调用php_splice将数据元素插入到数组头部,用新的哈希表替换就得哈希表并将其销毁</p> <p>2、如果操作后的stack等于运行时的符号表,则重置哈希表的内部指针</p> <p>3、stack指向新的哈希表,释放新的哈希表红箭,销毁就得哈希表</p>
源码解读
由上面的步骤可知,array_unshift的核心步骤是php_splice函数。对于array_unshift函数,php_splice实现时新建一个哈希表out_hash,将需要插入的list数据先插入到out_hash中,然后再把原来的数组数据写入到out_hash中,这样实现在数组前面插入数据元素的功能。
实现的效果图如下:
这次阅读源码过程中,同时也研究了PHP中的哈希表数据结构及一些API,也给自己补充了一些哈希表的知识。学习到了PHP底层是使用双向链表做哈希冲突的处理,获益匪浅。日后再做关于PHP数据结构的分享。
原创文章,文笔有限,才疏学浅,文中若有不正之处,万望告知。
如果本文对你有帮助,请点下推荐吧,谢谢^_^
最后再安利一下,我在github有对PHP源码更详细的注解。感兴趣的可以围观一下,给个star。PHP5.4源码注解。可以通过commit记录查看已添加的注解。
更多源码文章,欢迎访问个人主页继续查看:hoohack

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

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



Lösung für das Problem, dass durch Drücken der Umschalttaste nicht zwischen Chinesisch und Englisch umgeschaltet werden kann: 1. Suchen Sie die Win-Taste und klicken Sie zum Öffnen. 2. Suchen Sie nach „Einstellungen“ und klicken Sie zum Öffnen. Öffnen Sie dann „Zeit und Sprache“. Sprache“ und öffnen Sie „Optionen“ „; 4. Klicken Sie auf „Optionen“ und wählen Sie dann in der ersten Zeile „Umschalten“.

Die Umschalttaste des Mac ist eine Taste oberhalb der Fn-Taste und unterhalb der Feststelltaste. Diese Taste befindet sich ganz links auf der Tastatur, die zweite Taste von unten rechts ist die Hochschalttaste auf der Tastatur. Sie können über die Tastenkombination „Strg+Umschalt“ darauf zugreifen, um die Eingabemethoden zu wechseln.

Strg + Umschalt ist eine Tastenkombination zum Wechseln der Eingabemethoden. Wenn Sie gleichzeitig „Strg + Umschalt“ drücken, können Sie auch andere Tasten gedrückt halten, um andere Funktionen auszuführen, z. B. gleichzeitiges Drücken von „Strg + Umschalt + N“. Zeittaste zum Erstellen eines neuen Ordners usw.

Kürzlich haben einige Freunde berichtet, dass sie nicht wissen, wo sie drücken sollen, was dazu führt, dass die Umschalttaste auf der Tastatur gesperrt ist. Wie kann ich diese Situation lösen? Sehen Sie sich an, wie Sie die Umschaltsperre der Tastatur entsperren. Methode zum Rückgängigmachen: 1. Klicken Sie in der Taskleiste unten links auf „Start“ und wählen Sie in der Menüliste „Einstellungen“ aus. 2. Nachdem Sie die neue Benutzeroberfläche aufgerufen haben, klicken Sie auf die Option „Zeit und Sprache“. 3. Klicken Sie dann in der linken Spalte auf „Region und Sprache“ und dann rechts unter „Verwandte Einstellungen“ auf „Erweiterte Tastatureinstellungen“. 4. Klicken Sie dann auf „Optionen der Sprachleiste“. 5. Klicken Sie im sich öffnenden Fenster oben auf die Registerkarte „Erweiterte Schlüsseleinstellungen“. 6. Endlich

Die Umschalttaste ist eine Umschalttaste auf der Tastatur, die auch als Umschalttaste der Tastatur bezeichnet wird. Sie befindet sich in der unteren linken Ecke der Tastatur und verfügt über Funktionen wie das Umschalten der Eingabemethoden, das schnelle Umschalten zwischen halber und voller Breite sowie die Auswahl aufeinander folgender Tasten Dateien und direktes Löschen von Dateien.

In diesem Artikel erfahren Sie, wie Sie im Win11-System ganz einfach in den abgesicherten Modus wechseln, indem Sie die Tastenkombination Umschalt+Rechtsklick auf dem Desktop verwenden. Der abgesicherte Modus ist ein spezieller Startmodus zur Diagnose und Lösung von Computerproblemen. Er bietet eine Möglichkeit, das System zu reparieren, wenn ein Fehler auftritt oder nicht normal startet. Durch die Anleitung dieses Artikels können Leser erfahren, wie sie mit dieser Verknüpfung schnell in den abgesicherten Modus in Win11 wechseln und so das Computersystem besser warten und reparieren können. 1. Klicken Sie mit der rechten Maustaste auf eine leere Stelle auf dem Desktop und wählen Sie im sich öffnenden Menüelement [Neu – Textdokument] 2. Erstellen Sie ein neues Textdokumentfenster und geben Sie den folgenden Code ein: WindowsRegistryEditorVersion5.00[; HKEY_CL

Microsoft hat heute das Vorschau-Update Win11Build23419 für WindowsInsider-Projektmitglieder im Dev-Kanal veröffentlicht. Neben vielen Verbesserungen wie der neuen USB4-Einstellungsseite in diesem Update wurden einige von Microsoft eingeführte neue Funktionen/Features nicht in das Update-Protokoll geschrieben. Microsoft ist dabei, eine neue Funktion/Feature in Win11 einzuführen. Benutzer können die Tastenkombination Win+Umschalt+R verwenden, um den Bildschirm aufzuzeichnen. Diese Funktion ist jedoch noch nicht wirksam. Nach Verwendung dieser Tastenkombination wird die reguläre Screenshot-Benutzeroberfläche anstelle der Bildschirmaufzeichnungs-Benutzeroberfläche geöffnet. Internetnutzer können die oben genannten neuen Funktionen und Features über das ViveTool-Tool aktivieren: 1. Laden Sie das Vivetool-Tool von der GitHub-Seite herunter und dann

Der Schutz von Computern vor „Shift-Backdoor“-Angriffen erfordert eine Kombination von Sicherheitsmaßnahmen, darunter die Aktualisierung von Systemen, die Verwendung starker Passwörter und Multi-Faktor-Authentifizierung, Sicherheitsschulung, Firewalls und Sicherheitssoftware, regelmäßige Datensicherungen, Netzwerksicherheitsprüfungen und -überwachung sowie Sicherheitsrichtlinien und Berechtigungsverwaltung. Durch diese Maßnahmen können Sie das Risiko von „Shift Backdoor“-Angriffen auf Ihr System deutlich reduzieren und die Sicherheit Ihres Computersystems gewährleisten.
