Maison  >  Article  >  développement back-end  >  Comment combiner plusieurs nombres unidimensionnels dans un tableau bidimensionnel en PHP

Comment combiner plusieurs nombres unidimensionnels dans un tableau bidimensionnel en PHP

jacklove
jackloveoriginal
2018-06-15 17:43:243870parcourir

Pendant le processus de développement, les données doivent être organisées, et l'une des opérations les plus courantes consiste à intégrer diverses données dans un ensemble de données. Cet article fournit une méthode permettant de combiner plusieurs tableaux unidimensionnels en un tableau bidimensionnel, ainsi qu'un code complet et des démonstrations.

Le code de la méthode de combinaison est le suivant. Étant donné que les paramètres des variables de fonction doivent être utilisés, la version PHP 5.6 ou supérieure est requise.

<?php/**
 * 将多个一维数组合拼成二维数组
 *
 * @param  Array $keys 定义新二维数组的键值,每个对应一个一维数组
 * @param  Array $args 多个一维数组集合
 * @return Array
 */function array_merge_more($keys, ...$arrs){
    // 检查参数是否正确
    if(!$keys || !is_array($keys) || !$arrs || !is_array($arrs) || count($keys)!=count($arrs)){        return array();
    }    // 一维数组中最大长度
    $max_len = 0;    // 整理数据,把所有一维数组转重新索引
    for($i=0,$len=count($arrs); $i<$len; $i++){        $arrs[$i] = array_values($arrs[$i]);        if(count($arrs[$i])>$max_len){            $max_len = count($arrs[$i]);
        }
    }    // 合拼数据
    $result = array();    for($i=0; $i<$max_len; $i++){        $tmp = array();        foreach($keys as $k=>$v){            if(isset($arrs[$k][$i])){                $tmp[$v] = $arrs[$k][$i];
            }
        }        $result[] = $tmp;
    }    return $result;
}?>

1. Plusieurs tableaux unidimensionnels sont combinés en un tableau bidimensionnel

<?php$arr1 = array(&#39;fdipzone&#39;, &#39;terry&#39;, &#39;alex&#39;);$arr2 = array(18, 19, 20);$arr3 = array(&#39;programmer&#39;, &#39;designer&#39;, &#39;tester&#39;);$keys = array(&#39;name&#39;,&#39;age&#39;,&#39;profession&#39;);$result = array_merge_more($keys, $arr1, $arr2, $arr3);
print_r($result);?>

Sortie :

Array(
    [0] => Array
        (
            [name] => fdipzone
            [age] => 18
            [profession] => programmer
        )
    [1] => Array
        (
            [name] => terry
            [age] => 19
            [profession] => designer
        )
    [2] => Array
        (
            [name] => alex
            [age] => 20
            [profession] => tester
        )
)

2. Extrayez une partie des données de plusieurs tableaux bidimensionnels et combinez-les en un tableau bidimensionnel

<?php$arr1 = array(    array(&#39;name&#39;=>&#39;fdipzone&#39;),    array(&#39;name&#39;=>&#39;terry&#39;),    array(&#39;name&#39;=>&#39;alex&#39;),
);$arr2 = array(    array(&#39;age&#39;=>18),    array(&#39;age&#39;=>19),    array(&#39;age&#39;=>20),
);$arr3 = array(    array(&#39;profession&#39;=>&#39;programmer&#39;),    array(&#39;profession&#39;=>&#39;designer&#39;),    array(&#39;profession&#39;=>&#39;tester&#39;),
);$arr1 = array_column($arr1, &#39;name&#39;);$arr2 = array_column($arr2, &#39;age&#39;);$arr3 = array_column($arr3, &#39;profession&#39;);$keys = array(&#39;name&#39;,&#39;age&#39;,&#39;profession&#39;);$result = array_merge_more($keys, $arr1, $arr2, $arr3);
print_r($result);?>

Sortie :

Array(
    [0] => Array
        (
            [name] => fdipzone
            [age] => 18
            [profession] => programmer
        )
    [1] => Array
        (
            [name] => terry
            [age] => 19
            [profession] => designer
        )
    [2] => Array
        (
            [name] => alex
            [age] => 20
            [profession] => tester
        )
)

Cet article explique la combinaison de plusieurs nombres unidimensionnels en PHP Comment former un tableau à deux dimensions, veuillez faire attention au site Web PHP chinois pour plus de contenu connexe.

Recommandations associées :

Méthode php permettant de renvoyer plusieurs colonnes spécifiées dans un tableau

option mysql secure-file-priv problème Solution

php utilise la méthode debug_backtrace pour suivre les appels de code

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!

Déclaration:
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