Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Entwicklungsfähigkeiten (3) – Detaillierte Codeerklärung zum Konvertieren mehrdimensionaler Arrays in eindimensionale Arrays

PHP-Entwicklungsfähigkeiten (3) – Detaillierte Codeerklärung zum Konvertieren mehrdimensionaler Arrays in eindimensionale Arrays

黄舟
黄舟Original
2017-03-10 18:38:451683Durchsuche

In der normalen Projektentwicklung verwenden wir häufig die Situation, mehrdimensionale Arrays in eindimensionale Arrays umzuwandeln, aber viele Programmierer konvertieren sie nicht, und einige denken nicht an gute Algorithmen und gehen dann chaotisch durch Die Berechnungsmethode kann Konvertieren Sie es kaum gut, aber der geschriebene Programmcode ist sehr redundant, was dazu führt, dass die zeitliche und räumliche Komplexität des Programms sehr groß ist. Im Folgenden werde ich beschreiben, wie ich diese Situation erreicht habe. Der Code ist einfach und klar.

Implementierungsmethode:

Ⅰ Verwenden Sie einen rekursiven Aufruf;
Ⅱ Definieren Sie zunächst eine statische Array-Konstante, um das Ergebnis zu speichern Array, wenn es sich um eine rekursive Aufrufmethode handelt;
          Ⅴ Wenn nicht, geben Sie das Ergebnis in eine statische Array-Konstante ein.


Implementierungscode:

Drucken Sie das Ergebnis aus und konvertieren Sie das mehrdimensionale Array in ein eindimensionales Array:

<?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(  
        &#39;name&#39; => &#39;a&#39;,  
        &#39;sex&#39; => &#39;m&#39;,  
        &#39;sort&#39; => 5  
    ),  
    array(  
        &#39;name&#39; => &#39;c&#39;,  
        &#39;sex&#39; => &#39;m&#39;,  
        &#39;sort&#39; => 8  
    ),  
    array(  
        &#39;name&#39; => &#39;g&#39;,  
        &#39;sex&#39; => &#39;m&#39;,  
        &#39;sort&#39; => 3  
    ),  
    array(  
        &#39;name&#39; => &#39;e&#39;,  
        &#39;sex&#39; => &#39;w&#39;,  
        &#39;sort&#39; => 6  
    ),  
    array(  
        &#39;name&#39; => &#39;b&#39;,  
        &#39;sex&#39; => &#39;w&#39;,  
        &#39;sort&#39; => 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  
)

Das obige ist der detaillierte Inhalt vonPHP-Entwicklungsfähigkeiten (3) – Detaillierte Codeerklärung zum Konvertieren mehrdimensionaler Arrays in eindimensionale Arrays. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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