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

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

  • Олег

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

    Spritz Сен. 28, 2014, 11:57 п.п.

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


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

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

    text();
    ?>
  • adw0rd

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

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

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

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

    function text($kol) {
    if ($kol > 9) {
    echo $kol.' - Многа букав!<br />';
    }}
    text($kol);
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • AlexB

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

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

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

    Спустя 35 сек.

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

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

    Spritz Сен. 29, 2014, 12:31 д.п., спустя 4 минуты 6 секунд

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

    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • Олег

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

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

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

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

    Spritz Сен. 29, 2014, 12:36 д.п., спустя 2 минуты 25 секунд

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

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

    Spritz Сен. 29, 2014, 12:37 д.п., спустя 1 минуту 17 секунд

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

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

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

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

    Спустя 42 сек.

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

  • Олег

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

    Spritz Сен. 29, 2014, 12:44 д.п., спустя 2 минуты 57 секунд

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

    Спустя 117 сек.

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

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

    Spritz Сен. 29, 2014, 12:49 д.п., спустя 4 минуты 39 секунд

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

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

    Spritz Сен. 29, 2014, 12:49 д.п., спустя 21 секунду

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

    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • Олег

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

    Spritz Сен. 29, 2014, 1:02 д.п., спустя 12 минут 51 секунду

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

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

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

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

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

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

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

    Spritz Сен. 29, 2014, 1:05 д.п., спустя 15 секунд

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

  • Олег

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

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

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

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