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 Big Grin

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é Big Grin

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

Code PHP :
<?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 Big Grin

Merci a ceux qui m'aideront Smile

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

J'passe pour un con pas doué maitenant Big Grin

Ty oxman,
j'me suis basé sur ta réponse même si dans mon cas c'était pas exactement sa Smile
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. Smile


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;
}