Comment convertir un tableau à deux dimensions en un tableau à une dimension en php

PHPz
Libérer: 2023-04-26 14:40:00
original
721 Les gens l'ont consulté

Pendant le développement, vous pourriez rencontrer le besoin de convertir un tableau à deux dimensions en un tableau à une dimension. Cet article explique comment effectuer cette opération en PHP.

Un tableau bidimensionnel en PHP est un tableau composé de plusieurs tableaux unidimensionnels, tandis qu'un tableau unidimensionnel est un tableau composé d'une seule valeur. Par conséquent, pour convertir un tableau à deux dimensions en un tableau à une dimension, vous devez extraire toutes les valeurs du tableau à une dimension, puis les placer dans le nouveau tableau à une dimension.

1. Utilisez une boucle pour parcourir un tableau à deux dimensions

En PHP, vous pouvez utiliser une boucle pour parcourir un tableau à deux dimensions et ajouter les valeurs à un nouveau tableau à une dimension. L'implémentation spécifique est la suivante :

$multiArr = array(array('apple', 'banana', 'pear'), array('cat', 'dog', 'lion')); $singleArr = array(); foreach ($multiArr as $arr) { foreach ($arr as $value) { $singleArr[] = $value; } } print_r($singleArr);
Copier après la connexion

Dans le code ci-dessus, un tableau bidimensionnel$multiArrest d'abord défini, qui contient deux tableaux unidimensionnels. Créez ensuite un tableau unidimensionnel vide$singleArr, puis utilisez deuxforeachimbriqués pour parcourir chaque tableau unidimensionnel du tableau$multiArret ses valeurs, et ajoute les valeurs à$singleArr. Enfin, utilisez la fonctionprint_r()pour imprimer$singleArr, et le résultat de sortie est :$multiArr,它包含两个一维数组。接着创建一个空的一维数组$singleArr,然后使用两个嵌套的foreach循环遍历$multiArr中的每个一维数组和其中的值,并将值添加到$singleArr中。最后使用print_r()函数打印出$singleArr,输出结果为:

Array ( [0] => apple [1] => banana [2] => pear [3] => cat [4] => dog [5] => lion )
Copier après la connexion
Copier après la connexion
Copier après la connexion

二、使用call_user_func_array()函数

除了循环遍历,还可以使用call_user_func_array()函数来将一个多维数组转换为一个一维数组。具体代码如下:

$multiArr = array(array('apple', 'banana', 'pear'), array('cat', 'dog', 'lion')); $singleArr = call_user_func_array('array_merge', $multiArr); print_r($singleArr);
Copier après la connexion

在上面的代码中,首先定义了一个二维数组$multiArr,它包含两个一维数组。接着使用call_user_func_array()函数,第一个参数为array_merge函数名,表示要执行合并操作,第二个参数为$multiArr数组,表示要合并的多个数组。组合完的新数组就是一维数组$singleArr。最后使用print_r()函数打印出$singleArr,输出结果为:

Array ( [0] => apple [1] => banana [2] => pear [3] => cat [4] => dog [5] => lion )
Copier après la connexion
Copier après la connexion
Copier après la connexion

三、使用array_reduce()函数

除了上面两种方式,还可以使用array_reduce()函数来将二维数组转换为一维数组。具体的实现方式如下:

$multiArr = array(array('apple', 'banana', 'pear'), array('cat', 'dog', 'lion')); $singleArr = array_reduce($multiArr, 'array_merge', array()); print_r($singleArr);
Copier après la connexion

在上面的代码中,首先定义了一个二维数组$multiArr,它包含两个一维数组。接着使用array_reduce()函数,第一个参数为$multiArr数组,表示要进行合并操作的数组,第二个参数为array_merge函数名,表示要执行合并操作,第三个参数为一个空的数组,表示初始的一维数组为空数组。最后将组合完的新数组存放到一维数组$singleArr中,并使用print_r()函数打印输出结果,输出结果与前两种方式一样:

Array ( [0] => apple [1] => banana [2] => pear [3] => cat [4] => dog [5] => lion )
Copier après la connexion
Copier après la connexion
Copier après la connexion

四、总结

在本文中,介绍了三种将二维数组转换为一维数组的方式,在实际开发中可以根据需要选择合适的方式。对于简单的二维数组而言,第一种方式循环遍历可能更加容易理解和实现;对于较为复杂的多维数组,call_user_func_array()函数和array_reduce()rrreee

2. Utilisez la fonction call_user_func_array()fonction en plus de la boucle À parcourir, vous pouvez également utiliser la fonction call_user_func_array()pour convertir un tableau multidimensionnel en un tableau unidimensionnel. Le code spécifique est le suivant : rrreeeDans le code ci-dessus, un tableau bidimensionnel $multiArrest d'abord défini, qui contient deux tableaux unidimensionnels. Utilisez ensuite la fonction call_user_func_array(). Le premier paramètre est le nom de la fonction array_merge, indiquant que l'opération de fusion doit être effectuée. Le deuxième paramètre est $multiArr.Tableau, représentant plusieurs tableaux à fusionner. Le nouveau tableau combiné est un tableau unidimensionnel $singleArr. Enfin, utilisez la fonction print_r()pour imprimer $singleArr, et le résultat de sortie est : rrreee Troisièmement, utilisez array_reduce()fonction En plus de ce qui précède De deux manières, vous pouvez également utiliser la fonction array_reduce()pour convertir un tableau à deux dimensions en un tableau à une dimension. L'implémentation spécifique est la suivante : rrreeeDans le code ci-dessus, un tableau bidimensionnel $multiArrest d'abord défini, qui contient deux tableaux unidimensionnels. Utilisez ensuite la fonction array_reduce(). Le premier paramètre est le tableau $multiArr, qui représente le tableau à fusionner. Le deuxième paramètre est array_merge Nom de la fonction, indiquant que l'opération de fusion doit être effectuée. Le troisième paramètre est un tableau vide, indiquant que le tableau unidimensionnel initial est un tableau vide. Enfin, stockez le nouveau tableau combiné dans le tableau unidimensionnel $singleArret utilisez la fonction print_r()pour imprimer le résultat de sortie. Le résultat de sortie est le même que. les deux premières méthodes : rrreee4. RésuméDans cet article, trois méthodes de conversion de tableaux bidimensionnels en tableaux unidimensionnels sont présentées. Dans le développement réel, vous pouvez choisir la méthode appropriée en fonction de vos besoins. Pour les tableaux bidimensionnels simples, la première méthode de parcours de boucle peut être plus facile à comprendre et à mettre en œuvre ; pour les tableaux multidimensionnels plus complexes, la fonction call_user_func_array()et array_reduce() code > Fonctions pourrait être plus pratique.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!