Maison >développement back-end >tutoriel php >Compétences en développement PHP (3) - Explication détaillée du code pour convertir des tableaux multidimensionnels en tableaux unidimensionnels
Dans le développement normal d'un projet, nous utilisons souvent la situation de conversion de tableaux multidimensionnels en tableaux unidimensionnels, mais de nombreux programmeurs ne les convertissent pas, et certains ne pensent pas à de bons algorithmes et passent ensuite par des méthodes de calcul compliquées. le convertit à peine bien, mais le code du programme écrit est très redondant, ce qui rend la complexité temporelle et spatiale du programme très importante. Ci-dessous, je décrirai comment j'y suis parvenu, et le code est simple et clair.
Méthode de mise en œuvre :
Ⅰ Utiliser un appel récursif ;
Ⅱ Définir d'abord une constante de tableau statique pour enregistrer le résultat ; Boucler à travers le tableau dimensionnel ; array, s'il s'agit d'une méthode d'appel récursive ;
Ⅴ Sinon, placez le résultat dans une constante de tableau statique
Ⅵ Renvoie le résultat (constante de tableau statique).
Code d'implémentation :
<?php /** * ======================================= * Created by Zhihua_W. * Author: Zhihua_W * Date: 2016/11/28 0003 * Time: 上午 9:11 * Project: PHP开发小技巧 * Power: 实现多维数组转化为一维数组 * ======================================= */ /** * 多维数组转化为一维数组 * @param array $array 多维数组 * @return array $result_array 一维数组 */ function array_multi2single($array) { //首先定义一个静态数组常量用来保存结果 static $result_array = array(); //对多维数组进行循环 foreach ($array as $value) { //判断是否是数组,如果是递归调用方法 if (is_array($value)) { array_multi2single($value); } else //如果不是,将结果放入静态数组常量 $result_array [] = $value; } //返回结果(静态数组常量) return $result_array; } $arr = array( array( 'name' => 'a', 'sex' => 'm', 'sort' => 5 ), array( 'name' => 'c', 'sex' => 'm', 'sort' => 8 ), array( 'name' => 'g', 'sex' => 'm', 'sort' => 3 ), array( 'name' => 'e', 'sex' => 'w', 'sort' => 6 ), array( 'name' => 'b', 'sex' => 'w', 'sort' => 2 ), ); print_r(array_multi2single($arr)); ?>
Array ( [0] => a [1] => m [2] => 5 [3] => c [4] => m [5] => 8 [6] => g [7] => m [8] => 3 [9] => e [10] => w [11] => 6 [12] => b [13] => w [14] => 2 )
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!