2012-11-08 5 views
0

J'ai tableau dans tableau, j'ai imprimé et le résultat commecomparer tableau des valeurs dans PHP tableau

Array ( 
    [0] => Array ([0] => 0 [1] => 20 [2] => 5) 
    [1] => Array ([0] => 5 [1] => 0 [2] => 15) 
    [2] => Array ([0] => 5 [1] => 10 [2] => 0) 
) 

Je dois obtenir le nombre maximum pour array1, tableau 2 et array3 qui ont l'indice i et les mettre nouveau tableau , nous allons l'appeler résultat tableau

par exemple, je dois calculer max (0, 5, 5) et pousser le nombre maximum dans un tableau de résultat même chose pour les éléments ont index 1: max (20,0,10) et pousser le nombre maximal dans le tableau des résultats

résultat final array must cont ain (5,15,20)

Répondre

4

Tout d'abord, le tableau doit être transposée (retourner les lignes et colonnes):

function array_transpose($arr) { 
    $map_args = array_merge(array(NULL), $arr); 
    return call_user_func_array('array_map', $map_args); 
} 

(prise de Is there better way to transpose a PHP 2D array? - lire cette question pour une explication de la façon dont cela fonctionne)

Ensuite, vous pouvez mapper la fonction max sur le nouveau tableau:

$maxes = array_map('max', array_transpose($arr)); 

Exemple: http://codepad.org/3gPExrhO

sortie [Je pense que c'est ce que vous vouliez dire au lieu de (5, 15, 20) parce que vous avez dit index 1 devrait être max (20, 0, 10)]:

Array 
(
    [0] => 5 
    [1] => 20 
    [2] => 15 
) 
Questions connexes