Heim  >  Artikel  >  Backend-Entwicklung  >  So konvertieren Sie ein zweidimensionales Array in ein eindimensionales Array in PHP

So konvertieren Sie ein zweidimensionales Array in ein eindimensionales Array in PHP

PHPz
PHPzOriginal
2023-04-26 14:18:52789Durchsuche

Während der Entwicklung müssen Sie möglicherweise ein zweidimensionales Array in ein eindimensionales Array konvertieren. In diesem Artikel wird erläutert, wie dieser Vorgang in PHP ausgeführt wird.

Ein zweidimensionales Array in PHP ist ein Array, das aus mehreren eindimensionalen Arrays besteht, während ein eindimensionales Array ein Array ist, das aus einem einzelnen Wert besteht. Um ein zweidimensionales Array in ein eindimensionales Array umzuwandeln, müssen Sie daher alle Werte im eindimensionalen Array extrahieren und sie dann in das neue eindimensionale Array einfügen.

1. Verwenden Sie eine Schleife, um ein zweidimensionales Array zu durchlaufen. In PHP können Sie eine Schleife verwenden, um ein zweidimensionales Array zu durchlaufen und die Werte zu einem neuen eindimensionalen Array hinzuzufügen. Die spezifische Implementierung lautet wie folgt:

$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);

Im obigen Code wird zunächst ein zweidimensionales Array $multiArr definiert, das zwei eindimensionale Arrays enthält. Erstellen Sie dann ein leeres eindimensionales Array $singleArr und verwenden Sie dann zwei verschachtelte foreach, um jedes eindimensionale Array im Array $multiArr zu durchlaufen und seine Werte und fügt die Werte zu $singleArr hinzu. Verwenden Sie abschließend die Funktion print_r(), um $singleArr auszudrucken. Das Ausgabeergebnis lautet:

Array
(
    [0] => apple
    [1] => banana
    [2] => pear
    [3] => cat
    [4] => dog
    [5] => lion
)

2. Verwenden Sie den Code call_user_func_array() > Funktion <code>$multiArr,它包含两个一维数组。接着创建一个空的一维数组 $singleArr,然后使用两个嵌套的 foreach 循环遍历 $multiArr 中的每个一维数组和其中的值,并将值添加到 $singleArr 中。最后使用 print_r() 函数打印出 $singleArr,输出结果为:

$multiArr = array(array('apple', 'banana', 'pear'), array('cat', 'dog', 'lion'));

$singleArr = call_user_func_array('array_merge', $multiArr);

print_r($singleArr);

二、使用 call_user_func_array() 函数

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

Array
(
    [0] => apple
    [1] => banana
    [2] => pear
    [3] => cat
    [4] => dog
    [5] => lion
)

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

$multiArr = array(array('apple', 'banana', 'pear'), array('cat', 'dog', 'lion'));

$singleArr = array_reduce($multiArr, 'array_merge', array());

print_r($singleArr);

三、使用 array_reduce() 函数

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

Array
(
    [0] => apple
    [1] => banana
    [2] => pear
    [3] => cat
    [4] => dog
    [5] => lion
)

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

rrreee

四、总结

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

Zusätzlich zur Schleife Zum Durchlaufen können Sie auch die Funktion call_user_func_array() verwenden, um ein mehrdimensionales Array in ein eindimensionales Array umzuwandeln. Der spezifische Code lautet wie folgt: 🎜rrreee🎜Im obigen Code wird zunächst ein zweidimensionales Array $multiArr definiert, das zwei eindimensionale Arrays enthält. Verwenden Sie dann die Funktion call_user_func_array(). Der erste Parameter ist der Funktionsname array_merge, der angibt, dass die Zusammenführungsoperation ausgeführt werden soll Array, das mehrere Arrays darstellt, die zusammengeführt werden sollen. Das kombinierte neue Array ist ein eindimensionales Array $singleArr. Verwenden Sie abschließend die Funktion print_r(), um $singleArr auszudrucken. Das Ausgabeergebnis lautet: 🎜rrreee🎜3. Verwenden Sie den Code array_reduce() > Funktion 🎜🎜Zusätzlich zu den oben genannten Methoden können Sie in beiden Fällen auch die Funktion <code>array_reduce() verwenden, um ein zweidimensionales Array in ein eindimensionales Array umzuwandeln. Die konkrete Implementierung ist wie folgt: 🎜rrreee🎜Im obigen Code wird zunächst ein zweidimensionales Array $multiArr definiert, das zwei eindimensionale Arrays enthält. Verwenden Sie dann die Funktion array_reduce(). Der erste Parameter ist das Array $multiArr, das das zusammenzuführende Array darstellt. Der zweite Parameter ist array_merge Funktionsname, der angibt, dass die Zusammenführungsoperation ausgeführt werden soll. Der dritte Parameter ist ein leeres Array, das angibt, dass das anfängliche eindimensionale Array ein leeres Array ist. Speichern Sie abschließend das kombinierte neue Array im eindimensionalen Array $singleArr und drucken Sie das Ausgabeergebnis mit der Funktion print_r() aus Die ersten beiden Methoden: 🎜 rrreee🎜4. Zusammenfassung🎜🎜In diesem Artikel werden drei Methoden zum Konvertieren zweidimensionaler Arrays in eindimensionale Arrays vorgestellt. In der tatsächlichen Entwicklung können Sie die geeignete Methode entsprechend Ihren Anforderungen auswählen. Für einfache zweidimensionale Arrays ist die erste Methode des Schleifendurchlaufs möglicherweise einfacher zu verstehen und für komplexere mehrdimensionale Arrays zu implementieren: die Funktionen call_user_func_array() und array_reduce(); Code > Funktionen sind möglicherweise praktischer. 🎜

Das obige ist der detaillierte Inhalt vonSo konvertieren Sie ein zweidimensionales Array in ein eindimensionales Array in PHP. 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