Помогите пожалуйста выполнить задание, у меня не получается... Написать программу на HTML и PHP для следующего задания: Определить чему равна сумма цифр числа n. Заранее спс :!:
$count = 0; for ($i = 0; $i < strlen($_POST["number"]); $i++) { $count += $_POST["number"]{$i}; } echo $count;
кстати, да... фиг знает, и то и то выводит один и тот же результат... но в мане написано вродь, что надо юзать {$i} вроде как строки представляются массивами
PHP: <?php $n = 3546487247939; preg_match_all("/[\d*]/i", $n, $arr); echo array_sum($arr[0]); 3 строчки=)
Уф. Правильно использовать []. {} устарело и больше не используется. В первых версиях PHP 5 использовались фигурные скобки. Но позже новое поведение отменили, и вернули квадратные скобки, как единственное верное средство для доступа к символу строки.
http://ru2.php.net/manual/en/language.t ... ing.substr Не читайте русскую доку, она всегда отстает от жизни.
воть <? $form="<form name=\"input\" method=\"GET\" action=\"".$_SERVER["PHP_SELF"]."\" target=\"_self\"> Введите число: <input name=\"i\" size=\"10\" /> <input type=\"submit\" name=\"\" value=\"Посчитать сумму цифр\" /></form>"; print "$form"; if (isset($_GET['i'])) { $i=$_GET['i']; $sum=0; if (is_numeric($i)) { print "<hr>Число: $i, сумма цифр: "; do { $sum+=abs($i%10); $i=(int)($i/10); } while ($i!=0); print $sum; } else { print "\"".$_GET['i']."\" не является числом, проверьте правильность ввода."; } }?>
Spadi: Ну почему, почему do...while? В данном случае это конечно ничего не испортит, но зачем нужен лишний проход при i==0?