/** * Calculate the sum of all numbers in a json array * * @param array $values * @return int */ function getNumberSum(array $values) { $ret = 0; foreach ($values as $key => $value) { if (is_array($value) || is_object($value)) { $ret += getNumberSum((array) $value); } elseif (is_numeric($value)) { $ret += $value; } } return $ret; }
/** * Calculate the sum of all numbers in a json array * * @param array|object $values * @return int */ function getNumberSum($values) { $ret = 0; foreach ($values as $key => $value) { if (is_array($value)) { $ret += getNumberSum($value); } elseif (is_object($value)) { $objectVars = get_object_vars($value); if (!in_array('red', $objectVars, true)) { $ret += getNumberSum($value); } } elseif (is_numeric($value)) { $ret += $value; } } return $ret; }