Inhaltsverzeichnis
[PHP源码阅读]array_push和array_unshift函数,arrayunshift
array_push
运行示例
运行步骤
源码解读
Heim Backend-Entwicklung PHP-Tutorial [PHP源码阅读]array_push和array_unshift函数,arrayunshift_PHP教程

[PHP源码阅读]array_push和array_unshift函数,arrayunshift_PHP教程

Jul 12, 2016 am 08:51 AM
shift

[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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

运行步骤

array_push函数相对比较简单,就相当于压栈操作,把array看做一个栈,然后对每一个参数,让其变成引用,引用数加一,然后添加它到数组的尾部。

内部实现的流程图如下:

[PHP源码阅读]array_push和array_unshift函数,arrayunshift_PHP教程$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>
Nach dem Login kopieren

源码解读

由上面的步骤可知,array_unshift的核心步骤是php_splice函数。对于array_unshift函数,php_splice实现时新建一个哈希表out_hash,将需要插入的list数据先插入到out_hash中,然后再把原来的数组数据写入到out_hash中,这样实现在数组前面插入数据元素的功能。

实现的效果图如下:

[PHP源码阅读]array_push和array_unshift函数,arrayunshift_PHP教程
这次阅读源码过程中,同时也研究了PHP中的哈希表数据结构及一些API,也给自己补充了一些哈希表的知识。学习到了PHP底层是使用双向链表做哈希冲突的处理,获益匪浅。日后再做关于PHP数据结构的分享。

 

原创文章,文笔有限,才疏学浅,文中若有不正之处,万望告知。

如果本文对你有帮助,请点下推荐吧,谢谢^_^

 

最后再安利一下,我在github有对PHP源码更详细的注解。感兴趣的可以围观一下,给个star。PHP5.4源码注解。可以通过commit记录查看已添加的注解。

更多源码文章,欢迎访问个人主页继续查看:hoohack

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1129452.htmlTechArticle[PHP源码阅读]array_push和array_unshift函数,arrayunshift 在PHP中,在数组中添加元素也是一种很常用的操作,分别有在数组尾部和头部添加元素,...
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

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

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Was soll ich tun, wenn ich durch Drücken der Umschalttaste nicht zwischen Chinesisch und Englisch wechseln kann? Was soll ich tun, wenn ich durch Drücken der Umschalttaste nicht zwischen Chinesisch und Englisch wechseln kann? Feb 22, 2023 pm 04:13 PM

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“.

Was ist die Umschalttaste auf dem Mac? Was ist die Umschalttaste auf dem Mac? Mar 13, 2023 pm 02:20 PM

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.

Was ist Strg plus Umschalt? Was ist Strg plus Umschalt? Mar 09, 2023 pm 04:23 PM

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.

So entsperren Sie die Umschaltsperre der Win10-Tastatur So entsperren Sie die Umschaltsperre der Win10-Tastatur Mar 31, 2024 am 11:51 AM

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

Welche Tastatur ist Shift? Welche Tastatur ist Shift? Feb 22, 2023 pm 02:51 PM

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.

Wie stelle ich die Tastenkombination ein, um in Win11 in den abgesicherten Modus zu wechseln? Klicken Sie mit der rechten Maustaste auf den Desktop, um in den abgesicherten Modus zu wechseln Wie stelle ich die Tastenkombination ein, um in Win11 in den abgesicherten Modus zu wechseln? Klicken Sie mit der rechten Maustaste auf den Desktop, um in den abgesicherten Modus zu wechseln Apr 11, 2024 pm 06:22 PM

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

Die Vorschauversion von Win11 Build 23419 führt neue Funktionen ein: Die Bildschirmaufzeichnung kann jetzt über die Tastenkombination Win + Umschalt + R abgeschlossen werden Die Vorschauversion von Win11 Build 23419 führt neue Funktionen ein: Die Bildschirmaufzeichnung kann jetzt über die Tastenkombination Win + Umschalt + R abgeschlossen werden Dec 21, 2023 pm 05:08 PM

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

So verwenden Sie die Shift-Hintertür So verwenden Sie die Shift-Hintertür Nov 21, 2023 am 11:10 AM

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.

See all articles