Je veux calculer toutes les valeurs d'entrée dans le texte qui ont ou n'abassent pas de virgule.
Exemple Je sais 2,3,4,5 code> ou
2345 code> dans la zone de texte. Sa somme devrait venir comme
14 code>, à condition que l'utilisateur ait utilisé ou non utilisé
, code> entre les nombres. P>
3 Réponses :
Connexion après avoir posté mes questions, je parviens à trouver une solution par moi-même ..
Ici, il est: entrée utilisateur 1: 1,2,3,4 p> entrée utilisateur 2: 1234 p> ====== ============ P> Sortie: strong> Votre somme est:
Vous n'avez aucune idée de ce que ces fonctions font, n'est-ce pas?
iam ayant indice mr mais juste demander à ce sujet que vous avez mentionné.Si vous ne voulez pas contribuer que son ok aucun problème ..Merci
Vous n'avez pas répondu à votre question car vous n'avez pas couvert les cas d'EDGE que j'ai écrit dans les commentaires à la question.
function calculateStringNumbers($string) { $sum = 0; $numbers_array = explode(',',$string); if(is_array($numbers_array) && count($numbers_array) > 0 && strpos($string, ',') !== false) { $sum = array_sum($numbers_array); } else { $sum = sum($string); } echo 'Your Sum is: '.$sum.' cheers'; } function sum($num) { $sum = 0; for ($i = 0; $i < strlen($num); $i++){ $sum += $num[$i]; } return $sum; } Test Cases:1 - user input 2345: calculateStringNumbers('2345') Output Your Sum is: 14 cheers2 - user input 2,3,4,5: calculateStringNumbers('2,3,4,5') Output Your Sum is: 14 cheers
Cette solution est fausse. L'entrée 2345 sort 2345, pas le "14" recherché
Je me suis testé mon frère et que j'ai mis la solution.So I Haven a utilisé des fonctions intégrées.Si requis, je vais envoyer une capture d'écran de travail.
Ma solution plus concise serait:
Et si l'utilisateur souhaite entrer
10,12,14 code> mais l'entrait comme
101214 code>? Votre méthode sera alors allumée à 9 au lieu de 36
bien toute suggestion serait appréciée?