JeuWeb - Crée ton jeu par navigateur

Version complète : [Résolu] Addition champs array multidimensionnel
Vous consultez actuellement la version basse qualité d'un document. Voir la version complète avec le bon formatage.
Coucou all 1

Derrière ce titre un peu barbare, se cache un petit problème, peut-être tout simple a résoudre, mais j'avoue que j'ai pas trouvé 1

J'ai un array de ce genre ( Résultat du print_r )

Code PHP :
Array
(
    [
0] => Array
        (
            [
name => Premier
            
[number] => 5
        
)

    [
1] => Array
        (
            [
name => Deuxieme
            
[number] => 2
        
)

    [
2] => Array
        (
            [
name => Dernier
            
[number] => 4
        


Mon problème est que je voudrais additionner les champs number, c'est a dire qu'a la fin je devrais avoir 11 dans l'exemple ci dessus.

et je vois pas trop comment 1

Merci a ceux qui m'aideront 2

Cordialement,
Arf, et pourquoi j'y ai pas pensé :/

J'passe pour un con pas doué maitenant 1

Ty oxman,
j'me suis basé sur ta réponse même si dans mon cas c'était pas exactement sa 2
Et comment faire pour additionner toutes les clés identiques automatiquement ? Je me souviens que je souhaitez faire ça pour déterminer les caractéristiques totales d'un personnage, il y a bien longtemps.


Sephi-Chan
Very nice ! C'est là un script très utile ! Je pense notamment à ceux qui font des jeux de rôle, mais pas seulement !


Sephi-Chan
et array_sum et ses petits amis ? ou au pire un seul for/each avec array_value, me semble que ca serait plus efficace que des for/each en cascade.
Moi non plus, je n'avais pas réussi avec array_sum(). Cela pour la simple raison qu'il fait la somme horizontale de la matrice, au lieu d'en faire la somme verticale, comme on cherche à le faire. 2


Sephi-Chan
'ffectivement, au temps pour moi, c'est pas que je doutais de vos capacités mais je pensais que ct possible d'allier assez simplement array_sum avec une autre fonction array pour du multidimentionnel, mais... on dirait que non.
Reste donc à l'inventer :
Code :
function arraysomme($tab) {
    $som = 0;
    foreach($tab as $value) {
        if (is_array($value))
            $som += arraysomme($value);
        elseif (is_numeric($value))
            $som += $value;
    }
    return $som;
}
URLs de référence