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 comme101214 code>? Votre méthode sera alors allumée à 9 au lieu de 36bien toute suggestion serait appréciée?