17-03-2011, 10:29 AM
tu peux simplifier aussi
Sinon, en php l'addition de chaine et d'entier n'est pas magique, il n'est pas question de bits ou autre. Une chaine convertie en entier vaut 0 et php fait un cast implicite de la chaine en entier/float quand on l'additionne à un entier SAUF si la chaine commence par des chiffres (+'.' + 'E'), auquel cas la chaine vaut le premier nombre lisible dedans.
Code :
function array_fusion_and_add($array1,$array2) {
foreach($array1 as $k => $v) {
if(isset($array2[$k])) $array2[$k] += $v;
}
return $array2;
}
Sinon, en php l'addition de chaine et d'entier n'est pas magique, il n'est pas question de bits ou autre. Une chaine convertie en entier vaut 0 et php fait un cast implicite de la chaine en entier/float quand on l'additionne à un entier SAUF si la chaine commence par des chiffres (+'.' + 'E'), auquel cas la chaine vaut le premier nombre lisible dedans.