ФорумПрограммированиеPHP для идиотов → Не работает функция

Не работает функция

  • Олег

    Сообщения: 177 Репутация: N Группа: Кто попало

    Spritz 29 сентября 2014 г. 2:57

    Не могу понять почему не работает скрипт. Если в условии выставить переменную равную 12, то все работает.


    <?php
    $fam = trim(&#39;Привет Пыха!&#39;);
    $kol = strlen($fam);

    function text() {
    if ($kol > 9) {
    echo $kol.&#39; - Многа букав!<br />&#39;;}}

    text();
    ?>
  • adw0rd

    Сообщения: 22902 Репутация: N Группа: в ухо

    Spritz 29 сентября 2014 г. 3:14, спустя 17 минут 12 секунд

    А так что пишет?

        <?php
    $fam = trim(&#39;Привет Пыха!&#39;);
    $kol = strlen($fam);
    var_dump($kol);

    function text($kol) {
    if ($kol > 9) {
    echo $kol.&#39; - Многа букав!<br />&#39;;
    }}
    text($kol);
    adw/0
  • AlexB

    Сообщения: 4288 Репутация: N Группа: в ухо

    Spritz 29 сентября 2014 г. 3:26, спустя 12 минут 34 секунды

    Подсказываю - область видимости переменной. )))

    {+++35+++}
    Опять Эдворд опередил )))
  • adw0rd

    Сообщения: 22902 Репутация: N Группа: в ухо

    Spritz 29 сентября 2014 г. 3:31, спустя 4 минуты 6 секунд

    Мне настолько скучно, что я даже на вопросы по php стал отвечать)

    adw/0
  • Олег

    Сообщения: 177 Репутация: N Группа: Кто попало

    Spritz 29 сентября 2014 г. 3:34, спустя 3 минуты 4 секунды

    Так пишет результат, хотя принципа не понял. Код немного длиннее, чем в примере. Изначально задаю функцию text(), хочу, чтоб код под функцией выполнялся после появления text(). Кусок кода под функцией используется несколько раз, с получением разных результатов. Разве нужны в этом случае дополнительные условия - text($kol)?
  • AlexB

    Сообщения: 4288 Репутация: N Группа: в ухо

    Spritz 29 сентября 2014 г. 3:36, спустя 2 минуты 25 секунд

    Я же подсказывал
    $kol внутри функции и снаружи - разные переменные
  • Олег

    Сообщения: 177 Репутация: N Группа: Кто попало

    Spritz 29 сентября 2014 г. 3:37, спустя 1 минуту 17 секунд

    var_dump($kol); удалил
  • Sinkler

    Сообщения: 9653 Репутация: N Группа: в ухо

    Spritz 29 сентября 2014 г. 3:41, спустя 3 минуты 47 секунд

    var_dump никак не влияет на переменную

    Спустя 42 сек.

    просто function(){} эта как подпрограмма, которая ничего не знает о том, что вне её

  • Олег

    Сообщения: 177 Репутация: N Группа: Кто попало

    Spritz 29 сентября 2014 г. 3:44, спустя 2 минуты 57 секунд

    Если оставить var то результат выглядит так - int(12) 12 - Многа букав!

    {+++117+++}
    Следовательно, всем переменным внутри функции нужно присвоить соответствующие значения?
  • AlexB

    Сообщения: 4288 Репутация: N Группа: в ухо

    Spritz 29 сентября 2014 г. 3:49, спустя 4 минуты 39 секунд

    в функцию нужно передавть параметры, тебе же Эдворд показал как
  • adw0rd

    Сообщения: 22902 Репутация: N Группа: в ухо

    Spritz 29 сентября 2014 г. 3:49, спустя 21 секунду

    Да, какие вам нужны переменные внутри функции - их надо передавать в функцию

    adw/0
  • Олег

    Сообщения: 177 Репутация: N Группа: Кто попало

    Spritz 29 сентября 2014 г. 4:02, спустя 12 минут 51 секунду

    Спасибаааа! Если можно, то задам еще вопросик. У одного из хостеров не хочет работать на хостинге команда strtolower(), не переводит букавы из заглавных в строчные (кириллица). Предварительно сообщили, что перезалили PHP5, щас разбираются. Может проблема у меня, а не на хостинге?

    $fam = trim(&#39;Привет ПыХа!&#39;);
    echo strtolower($fam);

    Результат на хостинге - Привет ПыХа!
  • AlexB

    Сообщения: 4288 Репутация: N Группа: в ухо

    Spritz 29 сентября 2014 г. 4:05, спустя 3 минуты 4 секунды

    Попробуй написать выше
    setlocale(LC_ALL, &#39;ru_RU&#39;);
  • Sinkler

    Сообщения: 9653 Репутация: N Группа: в ухо

    Spritz 29 сентября 2014 г. 4:05, спустя 15 секунд

    попробуйте
    mb_strtolower($fam);

  • Олег

    Сообщения: 177 Репутация: N Группа: Кто попало

    Spritz 29 сентября 2014 г. 4:10, спустя 4 минуты 49 секунд

    О-о! Не все так просто! Возвращаюсь к функции. Внутри функции осталась переменная. А как из функции передать переменную в скрипт?

Пожалуйста, авторизуйтесь, чтобы написать комментарий!