За последние 24 часа нас посетили 49699 программистов и 1731 робот. Сейчас ищут 596 программистов ...

Тут есть конфа нубов которая учит php?

Тема в разделе "Беседы", создана пользователем dns24, 10 сен 2016.

  1. dns24

    dns24 Новичок

    С нами с:
    10 сен 2016
    Сообщения:
    12
    Симпатии:
    0
    Типа класса, которые постоянно создаются, что бы в вместе учить php работая над учебными проектами/заданиями?
     
  2. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    Зачем?
     
    denis01 нравится это.
  3. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.816
    Симпатии:
    1.333
    Адрес:
    Лень
    Тут есть конфа нубов
    Вливайся :D:D:D
     
    askanim и igordata нравится это.
  4. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    @dns24 просто задавай вопросы, кто сможет, тот ответит, вот и всё обучение.
     
  5. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Нет, официальных курсов тут нет. А если и появятся, то, скорее всего, будут платными, потому что такие "классы" требуют уйму физического реального вполне себе такого времени со стороны преподавателя. А время = деньги.
     
  6. noice

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

    С нами с:
    7 сен 2012
    Сообщения:
    157
    Симпатии:
    0
    если $ss правда > 4 то вывести цифру 1, в ином случае вывести 0.
    чего не так?
    и какая функция может показать $res=(mb_strlen($val)) > 4; $res=true или $res=false?
    Код (Text):
    1. <?php
    2. function aha ($val="")
    3. {
    4.     $res=(mb_strlen($val)) > 4;
    5.     return $res;
    6. }
    7.  
    8. ?>
    9. <?php
    10. $ss="3231223";
    11. aha($ss);
    12. echo $res;
    13. if ($res=true)
    14. {
    15. echo "1";
    16. }
    17. else
    18. {echo "0";}
    19. ?>
     
  7. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
  8. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    одиночный знак "=" - это присваивание.
    Вам нужно сравнение. Сравнений в PHP 2 вида:
    1) Без учета типа данных, с неявным приведеним, это оператор "=="
    2) С учетом типа данных, без приведения, это оператор "===".

    if ($res=true) значит "возьми $res и запиши туда true, а потом проверь, что там лежит". А там всегда лежит true.
     
  9. noice

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

    С нами с:
    7 сен 2012
    Сообщения:
    157
    Симпатии:
    0
    все равно не робит хоть с == хоть с ===
     
  10. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Потому что у тебя $res нет.
     
  11. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Ты объявил функцию, которая возвращает $res. Но это не глобальная переменная. Это просто результат функции. Наружу не будет сделан экспорт этих данных при вызове. Эта переменная внутри функции может называться как угодно, и живет она только там. Наружу после отработки возвращается только конечное значение.
    Далее. Ты делаешь вызов функции, она отрабатывает и возвращает значение вникуда. Потому что ты его никуда не присвоил.

    PHP:
    1. <?php
    2.     function aha ($val="") {  
    3.         return ((mb_strlen($val)) > 4);
    4.     }
    5.  
    6.     $ss="3231223";
    7.     $res = aha($ss); //Присвоение переменной результата функции
    8.  
    9.     var_dump($my_res);
    10.  
    11.     if ($res === true){
    12.         echo "1";
    13.     }
    14.     else{
    15.         echo "0";
    16.     }
    Обрати внимание, функция теперь вообще не возвращает "переменную". Она возвращает сразу результат выражения. Это сделано просто для подтверждения тезиса о том, что никакого "экспорта" или создания переменной в ходе ее работы не предусмотрено. Ее можно было оставить и такой, какая была у тебя. С присвоением внутренней переменной и с возвратом уже ее значения. Так делать даже правильнее с точки зрения поддержки кода в будущем.

    Но в любом случае, будь добр сам внешнюю переменную создай, и сам в нее результат работы функции положи. Ну а дальше все как по маслу.
     
    noice нравится это.
  12. noice

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

    С нами с:
    7 сен 2012
    Сообщения:
    157
    Симпатии:
    0
    а в чем разница? function aha ($val="") и function aha ($val)
    в учебнике вариант с ="" но для чего? пробовал и так и так работает одинаково.
     
  13. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
  14. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    Об этом моменте прекрасно написано в мануале.
    Это так называемое значение по умолчанию. То есть, если ты вызываешь aha(1) - ты явно передаешь значение аргумента. Если aha() - то не указываешь. В первом варианте - aha($v = 1) - будет подставлено значение по умолчанию. Во втором - aha($v) - выскочит ошибка.
     
  15. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Вот тебе наглядное пособие:
    PHP:
    1. <?php
    2.  
    3. function foo1($text = "pewpew"){ //у функции foo1 параметр имеет значение по умолчанию
    4.     echo $text,'<br>';
    5. }
    6.  
    7.  
    8. function foo2($text){ //а у функции foo2 нет
    9.     echo $text,'<br>';
    10. }
    11.  
    12. //Проверим обе функции, вызывая их с аргументом и без
    13. foo1("ololo"); //ololo
    14. foo1(); //pewpew
    15.  
    16. foo2("ololo"); //ololo
    17. foo2(); / /WARNING+NOTICE
     
    noice нравится это.
  16. noice

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

    С нами с:
    7 сен 2012
    Сообщения:
    157
    Симпатии:
    0
    Код (Text):
    1. class calc
    2. {
    3.     public $one;
    4.     public $two;
    5.     public function plus()
    6.     {
    7.        $resloj=$this->one+$this->two;
    8.        return $resloj;
    9.        # echo "asc", $resloj;
    10.     }
    11. }
    вобщем сделал типа калькулятора складывает одно число с другим через класс.
    а как сделать чтоб можно было подставить любой знак - * / ?
    *да я предпологаю что это извращение но интерестно возможно ли это.
     
  17. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.816
    Симпатии:
    1.333
    Адрес:
    Лень
    echo eval("60*60");

    $PLUS = "+";
    echo eval("60{$PLUS}60");
     
  18. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Можно просто разобрать математическое выражение, например с одной из библиотек php math expression parser, например https://github.com/aboyadzhiev/php-math-parser
     
  19. noice

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

    С нами с:
    7 сен 2012
    Сообщения:
    157
    Симпатии:
    0
    хочу спарсить данные но не получается. часа два тыкался как медвежатник. вот два примера попыток
    Код (Text):
    1. $borgs=file_get_contents( "http://ru.investing.com/");
    2. preg_match( '/<td class="lastNum pid-2186-last" id="sb_last_2186">(.*?)<\/td>/is', $borgs, $borg );
    3.     echo "<pre>";
    4. print_r($borg);
    [​IMG]

    так же на других сайтах но там хотя бы ошибок нет просто пустая страница:

    Код (Text):
    1.  
    2. $borgs=file_get_contents( "https://ru.tradingview.com/chart/USDRUB/");
    3. preg_match( '/<span class="tv-widget-chart__price-value symbol-last" title="Последняя цена">(.*?)<\/span>/i', $borgs, $borg );
    4. print_r($borg);
     
  20. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    в правилах написано, что запрещено обсуждать парсинг, попадает под воровство контента, лучше посмотри если у них есть API с нужными тебе данными
     
  21. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    @noice для общего развития - элементы могут создаваться на странице яваскриптом, в этом случае в консоли браузера они есть, но отсутствуют в начальном коде, полученном от сервера.
     
  22. noice

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

    С нами с:
    7 сен 2012
    Сообщения:
    157
    Симпатии:
    0
    @denis01 понял, удалите. а то я не могу. я чисто из практики. не воровства раде)

    еще квештенс:
    как в переменную $new заталкать условие выборки /<span class="inline-stocks__value_inner">(.*?)<\/span>/i для preg_match ниже экскиз, который не робит

    Код (Text):
    1. $new = ('/<span class="inline-stocks__value_inner">(.*?)<\/span>/i');
    2.  
    3. preg_match($new, $borgs, $borg );
     
  23. noice

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

    С нами с:
    7 сен 2012
    Сообщения:
    157
    Симпатии:
    0
    все разабрался
     
  24. noice

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

    С нами с:
    7 сен 2012
    Сообщения:
    157
    Симпатии:
    0
    в форме есть:
    PHP:
    1.   <button type="submit" name="submit">ok</button>
    2. <select type="submit" name="select" size =200” multiple\>
    <-как заставить отправить форму без нажатия на кнопку(что строкой выше тут). То есть чтобы кликнув по пункту из списка name="select" форма отправлялась сразу.
     
    #24 noice, 29 сен 2016
    Последнее редактирование модератором: 30 сен 2016
  25. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    на javascript для select тега нужно повесить вызов кода на событие onchange, вызывать можно submit функцию для формы.