что означает эта строчка

Тема в разделе "PHP", создана пользователем vanderv, 10 янв 2011.

Модераторы: latteo
  1. vanderv

    vanderv

    Регистр.:
    30 май 2009
    Сообщения:
    267
    Симпатии:
    12
    PHP:
     $new_width   $use_x_ratio  $width  floor($size[0] * $ratio);
    понять не могу что за "?" и ":" подскажите плз... гугле не дал ответов
     
  2. shamantc

    shamantc ЗлОй ШаМан

    Заблокирован
    Регистр.:
    3 ноя 2008
    Сообщения:
    655
    Симпатии:
    184
    В принципе здесь все правильно, это от скрипта который уменьчшает картинку спомощью php и библиотеки GD
     
  3. vanderv

    vanderv

    Регистр.:
    30 май 2009
    Сообщения:
    267
    Симпатии:
    12
    ага... тобеж в php это не используется? а что строчка значит?
    просто хочу в этот скрипт вставить что если ширина или высота указывается 0, то не менять размер...
     
  4. Belial

    Belial

    Регистр.:
    1 фев 2010
    Сообщения:
    236
    Симпатии:
    113
  5. ZCFD

    ZCFD

    Регистр.:
    16 янв 2008
    Сообщения:
    989
    Симпатии:
    437
    тренарный оператор ( поиск даст ответ )
    строчка эквивалентна записи

    PHP:
    <?php
    if ($use_x_ratio
    {
         
    $new_width $width;

    else 
    {
         
    $new_width floor($size[0] * $ratio;
    }
    ?>
     
  6. PHPCod3r

    PHPCod3r

    Регистр.:
    7 июн 2010
    Сообщения:
    261
    Симпатии:
    25
    Что бы не создавать новую тему спрошу здесь
    В одном из классов встретил такую строчку
    PHP:
    $this->v=array($this'name_method')
    Что означает этот array($this, 'name_method')?
    Где про это можно прочитать? (Гугл к сожалению ничего не дал пока)

    Помогите пожалуйста, заранее благодарю.
     
  7. gres_18

    gres_18 Pythonобандерівець®

    Регистр.:
    26 апр 2009
    Сообщения:
    407
    Симпатии:
    206
    Так уж повелось, что подобные вещи смотрят вот тут - http://ua2.php.net/manual/en/function.array.php
     
  8. PHPCod3r

    PHPCod3r

    Регистр.:
    7 июн 2010
    Сообщения:
    261
    Симпатии:
    25
    я там смотрел там нету про array($this, 'name_method').

    Я знаю что такое array, но я не сталкивался с такой записью
    array($this, 'name_method'), при работе с классами.

    Вот тут

    http://www.php.net/manual/en/language.oop5.basic.php

    Довольно внятно обьясняется что такое $this

    It is necessary to refer to a class element using self ,
    and refer to an object element using $this .

    Но чем отличается эта запись array($this, 'name_method')
    от $this->name_method ???
     
  9. gres_18

    gres_18 Pythonобандерівець®

    Регистр.:
    26 апр 2009
    Сообщения:
    407
    Симпатии:
    206
    Мне кажется, ты немного запутался в понятиях.
    PHP:
    array($this'name_method')
    - функция, которая создает массив. А что означает конструкция
    PHP:
    $this->name_method
    ? Ответь для себя на этот вопрос и думаю, все прояснится.
     
  10. chang

    chang

    Регистр.:
    20 ноя 2009
    Сообщения:
    364
    Симпатии:
    117
    PHP:
    array($this'name_method'// тупо массив где первый элемент ссылка на объект а второй  строка, в данном случае скорее всего являющаяся именем метода.

    $this->name_method // это просто обращение к "свойству" или  просто данным класса

    PHP:
    $this->= array($this'name_method')
    здесь переменной "v" присваиваем массив 1 значение которого равно ссылке на текущий класс, а второе строке 'name_method', которая по всей видимости является именем метода ...


    ну а потом скорее всего где-то в коде есть вызов типа

    PHP:
    $class_1 = new X;
    $myClass call_user_func_array$class_1->,array((передаваемые параметры ));
    // или даже внутри того же класса .. .что маловероятно
    PHP:
    $myClass call_user_func_array$this->,array((передаваемые параметры ));
    т.е. вызвать метод класса и передать ему параметры ..
    array($this, 'name_method') - в данном случае будет вызываться тот класс внутри которого создавался этот массив и его метод 'name_method'
     
    gres_18 нравится это.