三种PHP合并数组的方法异同_PHP教程
1、“+”运算符
规则:当两个数组的键名是数字键名或者字符串键名可以直接 +,$c = $a + $b,在$a后追加($b在$a中不存在的键名)键名和值。
注意:
- 不覆盖,只是追加不存在的键名和对应的值。
- 键名不重新索引。
- 无论是全部数字键名还是混合,都只是追加键名和值,如果键名相同则不进行追加,即把最先出现的值作为最终结果返回。
<?php $fruit_1 = array( 'apple', 'banana' ); $fruit_2 = array( 'orange', 'lemon' ); $fruit = $fruit_1 + $fruit_2; var_dump($fruit); // output: // array(2) { [0]=> string(5) "apple" [1]=> string(6) "banana" } ?>
数字键名:
<?php $a = array( 66=>'a' ); $b = array( 60=>'u', 66=>'c' ); $c = $a + $b; var_dump($c); // output: // array(2) { [66]=> string(1) "a" [60]=> string(1) "u" } ?>
字符键名:
<?php $a = array( 1=>'a', 2=>'b', 'c'=>'c', 'd'=>'d' ); $b = array( 1=>'u', 3=>'v', 'c'=>'w', 'd'=>'x', 'y'=>'y', 60=>'z' ); $c = $a + $b; var_dump($c); // output: // array(7) { [1]=> string(1) "a" [2]=> string(1) "b" ["c"]=> string(1) "c" ["d"]=> string(1) "d" [3]=> string(1) "v" ["y"]=> string(1) "y" [60]=> string(1) "z" } ?>
2、array array_merge ( array array1 [, array array2 [, array ...]] )
规则:array_merge() 将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。 如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。 如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引。
注意:
- 数字索引,不会覆盖,值合并后,键名会连续方式重新索引
- 字符串键名,则该键名后面的值将覆盖前一个值
<?php $a = array( 'a' ); $b = array( 'u' ); $c = array_merge($a, $b); var_dump($c); // output: // array(2) { [0]=> string(1) "a" [1]=> string(1) "u" } ?>
数字键名:
<?php $a = array( 66=>'a' ); $b = array( 60=>'u', 66=>'c' ); $c = array_merge($a, $b); var_dump($c); // output: // array(3) { [0]=> string(1) "a" [1]=> string(1) "u" [2]=> string(1) "c" } ?>
字符键名:
<?php $a = array( 1=>'a', 2=>'b', 'c'=>'c', 'd'=>'d' ); $b = array( 1=>'u', 3=>'v', 'c'=>'w', 'd'=>'x', 'y'=>'y', 60=>'z' ); $c = array_merge($a, $b); var_dump($c); // output: // array(8) { [0]=> string(1) "a" [1]=> string(1) "b" ["c"]=> string(1) "w" ["d"]=> string(1) "x" [2]=> string(1) "u" [3]=> string(1) "v" ["y"]=> string(1) "y" [4]=> string(1) "z" } ?>
3、array array_merge_recursive ( array array1 [, array ...] )
array_merge_recursive() 将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。
如果输入的数组中有相同的字符串键名,则这些值会被合并到一个数组中去,这将递归下去,因此如果一个值本身是一个数组,本函数将按照相应的条目把它合并为另一个数组。
然而,如果数组具有相同的数组键名,后一个值将不会覆盖原来的值,而是附加到后面。
注意:规则跟array_merge基本相同,只是在处理相同字符键名的时候,采用递归追加。
<?php $a = array( 'a' ); $b = array( 'u' ); $c = array_merge_recursive($a, $b); var_dump($c); // output: // array(2) { [0]=> string(1) "a" [1]=> string(1) "u" } ?>
数字键名:
<?php $a = array( 66=>'a' ); $b = array( 60=>'u', 66=>'c' ); $c = array_merge_recursive($a, $b); var_dump($c); // output: // array(3) { [0]=> string(1) "a" [1]=> string(1) "u" [2]=> string(1) "c" } ?>
字符键名:
<?php $a = array( 1=>'a', 2=>'b', 'c'=>'c', 'd'=>'d' ); $b = array( 1=>'u', 3=>'v', 'c'=>'w', 'd'=>'x', 'y'=>'y', 60=>'z' ); $c = array_merge_recursive($a, $b); var_dump($c); // output: // array(8) { [0]=> string(1) "a" [1]=> string(1) "b" ["c"]=> array(2) { [0]=> string(1) "c" [1]=> string(1) "w" } ["d"]=> array(2) { [0]=> string(1) "d" [1]=> string(1) "x" } [2]=> string(1) "u" [3]=> string(1) "v" ["y"]=> string(1) "y" [4]=> string(1) "z" } ?>

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Lorsque vous utilisez array_merge() en PHP pour fusionner des tableaux, cela produira des résultats déroutants s'il contient des chaînes vides ou des tableaux vides. Solution : 1. Utilisez array_filter() pour filtrer les valeurs nulles. 2. Pour les cas contenant des tableaux vides, utilisez la fonction de fusion récursive array_merge_recursive_distinct() pour conserver une structure de tableau cohérente.

Pour la fusion de tableaux en PHP, la complexité temporelle dépend de l'algorithme : O(m+n) pour array_merge() et l'opérateur +, où m et n sont les tailles du tableau. La fusion de boucles est également O(m+n). Choisissez la méthode appropriée en fonction de facteurs tels que la taille et la disponibilité de la baie, et tenez compte des besoins en performances pour optimiser votre application.

Dans la version PHP8.0, l'opération de fusion de tableaux a été améliorée. Cette amélioration cible principalement l’opération de fusion des types de données tableau. Dans les versions précédentes, les opérations de fusion de tableaux fournies par PHP étaient implémentées à l'aide du symbole "+". Cependant, cette approche pose certains problèmes. Si deux tableaux contiennent les mêmes clés, les valeurs de clé du deuxième tableau écraseront les valeurs de clé du premier tableau. Si vous devez fusionner les deux tableaux ensemble, vous devez utiliser habilement la fonction array_merge(). . Maintenant, en PHP

Comparaison de l'efficacité de la fusion de tableaux PHP : la complexité temporelle des trois méthodes Array_merge(), + Operator et Array_replace() est entièrement O(n), ce qui signifie que le temps de fusion est proportionnel au nombre d'éléments du tableau. La complexité spatiale de ces trois méthodes est également O(n), ce qui signifie que l'utilisation de la mémoire est proportionnelle au nombre d'éléments du tableau. Les résultats mesurés montrent que les opérateurs Array_merge() et + sont plus rapides que Array_replace() lors de la fusion de grands tableaux.

Lors de la fusion de tableaux en PHP, vous pouvez choisir la méthode suivante pour traiter les éléments en double : utilisez array_merge() combiné avec array_unique() pour supprimer les éléments en double. Utilisez array_replace() pour écraser les éléments en double sans modifier le tableau d'origine. Utilisez array_diff() pour supprimer des éléments d'un tableau qui ne se trouvent pas dans un autre tableau.

Analyse de la fonction PHP5.5 : Comment utiliser la fonction array_reduce pour combiner des éléments d'un tableau en une seule valeur. Dans la programmation PHP, nous avons souvent besoin de traiter des tableaux, et parfois nous devons combiner des éléments d'un tableau en une seule valeur. Pour le moment, nous pouvons utiliser la fonction array_reduce introduite dans la version PHP5.5 pour implémenter cette fonction. Cet article présentera en détail l'utilisation de la fonction array_reduce et fournira des exemples de code correspondants. La fonction array_reduce est un

Solution à PHPWarning:array_merge():Argument Dans le développement PHP, nous rencontrons souvent le message d'erreur PHPWarning:array_merge():Argument. Qu'est-ce que cela signifie ? PHPWarning:array_merge():Une erreur d'argument est due au fait qu'un ou plusieurs paramètres ne sont pas de type tableau. combinaison de fonctions array_merge()

Utilisez la fonction PHP "array_merge" pour fusionner plusieurs tableaux en un seul tableau. Dans le développement PHP, nous devons parfois fusionner plusieurs tableaux en un seul grand tableau pour traiter les données plus facilement. Afin de réaliser cette fonction, PHP fournit une fonction puissante "array_merge". La fonction array_merge est très simple à utiliser. Elle accepte plusieurs tableaux comme paramètres et les fusionne dans un nouveau tableau. Voici la syntaxe de base pour utiliser la fonction : array_merg
