За последние 24 часа нас посетили 17459 программистов и 1634 робота. Сейчас ищут 1530 программистов ...

Помогите плиз

Тема в разделе "PHP для новичков", создана пользователем Tol'soN, 1 дек 2008.

  1. Tol'soN

    Tol'soN Активный пользователь

    С нами с:
    1 дек 2008
    Сообщения:
    4
    Симпатии:
    0
    Помогите пожалуйста выполнить задание, у меня не получается...
    Написать программу на HTML и PHP для следующего задания: Определить чему равна сумма цифр числа n.
    Заранее спс :!:
     
  2. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    $count = 0;
    for ($i = 0; $i < strlen($_POST["number"]); $i++) {
    $count += $_POST["number"]{$i};
    }
    echo $count;
     
  3. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Код (Text):
    1. {$i}
    PHP:
    1. [$i]
     
  4. djunkie

    djunkie Активный пользователь

    С нами с:
    19 ноя 2008
    Сообщения:
    134
    Симпатии:
    0
    {$i} для обращения к символу в строке =)
     
  5. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    для обращения к символу в строке
    Код (Text):
    1. []
     
  6. sylex

    sylex Активный пользователь

    С нами с:
    9 ноя 2008
    Сообщения:
    625
    Симпатии:
    0
    Адрес:
    Омск
    кстати, да... фиг знает, и то и то выводит один и тот же результат... но в мане написано вродь, что надо юзать {$i}

    вроде как строки представляются массивами
     
  7. free-bits

    free-bits Активный пользователь

    С нами с:
    13 ноя 2008
    Сообщения:
    296
    Симпатии:
    0
    Адрес:
    г. Красноярск
    PHP:
    1.  
    2. <?php
    3. $n = 3546487247939;
    4. preg_match_all("/[\d*]/i", $n, $arr);
    5. echo array_sum($arr[0]);
    3 строчки=)
     
  8. djunkie

    djunkie Активный пользователь

    С нами с:
    19 ноя 2008
    Сообщения:
    134
    Симпатии:
    0
    у меня в какой-то книжке было написано, почему {} правильнее, но счас не найду =)
     
  9. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Уф. Правильно использовать []. {} устарело и больше не используется. В первых версиях PHP 5 использовались фигурные скобки. Но позже новое поведение отменили, и вернули квадратные скобки, как единственное верное средство для доступа к символу строки.
     
  10. Frozen

    Frozen Активный пользователь

    С нами с:
    20 окт 2008
    Сообщения:
    540
    Симпатии:
    0
    Адрес:
    Москва
    preg_match_all("/\d/", $n, $arr);
    ?
     
  11. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
  12. free-bits

    free-bits Активный пользователь

    С нами с:
    13 ноя 2008
    Сообщения:
    296
    Симпатии:
    0
    Адрес:
    г. Красноярск
    Frozen, та без разницы=))
     
  13. sylex

    sylex Активный пользователь

    С нами с:
    9 ноя 2008
    Сообщения:
    625
    Симпатии:
    0
    Адрес:
    Омск
    http://ru2.php.net/manual/ru/language.t ... ing.substr

    а где обратное?
     
  14. sylex

    sylex Активный пользователь

    С нами с:
    9 ноя 2008
    Сообщения:
    625
    Симпатии:
    0
    Адрес:
    Омск
    флоппик, спасибо, буду бороться с вредной привычкой!
     
  15. Spadi

    Spadi Активный пользователь

    С нами с:
    29 ноя 2008
    Сообщения:
    12
    Симпатии:
    0
    воть :)

    <?
    $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']."\" не является числом, проверьте правильность ввода.";
    }
    }?>
     
  16. karakh

    karakh Активный пользователь

    С нами с:
    11 дек 2007
    Сообщения:
    1.344
    Симпатии:
    0
    Spadi: Ну почему, почему do...while? В данном случае это конечно ничего не испортит, но зачем нужен лишний проход при i==0?
     
  17. Tol'soN

    Tol'soN Активный пользователь

    С нами с:
    1 дек 2008
    Сообщения:
    4
    Симпатии:
    0
    Большое спс :D
     
  18. admyx

    admyx Активный пользователь

    С нами с:
    14 мар 2008
    Сообщения:
    2.159
    Симпатии:
    1
    Почему все используют do..while где ни попадя?
     
  19. free-bits

    free-bits Активный пользователь

    С нами с:
    13 ноя 2008
    Сообщения:
    296
    Симпатии:
    0
    Адрес:
    г. Красноярск
    Зачем вообще цикл, в данном случае, если можно все одной срочкой записать?;)