[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вывод данных
fortuna
Не могу понять почему так происходит .
class shop {

function __construct($title,$name){
$this ->title = $title;
$this ->name = $name ;
}

function zed (){
return $this->name." ".$this->title;
}
}


$m = new shop("ПРИВЕТ","Медвед");
echo $m->zed();

Сразу скажу что всё работает нормально только вывод не понятен мне .
На данный момент выводиться вот так Медвед ПРИВЕТ
Но если в конструкции меняю местами function __construct($name,$title)
То уже выводиться по другому ПРИВЕТ Медвед почему так происходит ?




Спустя 34 минуты, 11 секунд (23.06.2012 - 21:46) ИНСИ написал(а):
Цитата
($name,$title)

Ты меняешь местами входящие параметры.
Цитата
new shop("ПРИВЕТ","Медвед");

Тут получается первым параметром у тебя Имя, а потом Название.

Спустя 9 минут, 28 секунд (23.06.2012 - 21:55) fortuna написал(а):
ИНСИ
Ну вроде понятно и в тот же момент не понятно .
Я только не понял откуда он знает что медвед это имя ? а тайтл привет ?
Написал вот такое то ещё больше путаницы у меня ..
class shop {

function __construct($name,$title,$price){
$this ->title = $title;
$this ->name = $name ;
$this ->price = $price;
}

function zed (){
return $this->name." ".$this->title." ".$this->price;
}
}


$m = new shop("ПРИВЕТ","Медвед",5);
echo $m->zed();

__construct($name,$price,$title)
ПРИВЕТ 5 Медвед
А здесь вот так .
__construct($price,$name,$title)
Медвед 5 ПРИВЕТ

Спустя 41 минута, 46 секунд (23.06.2012 - 22:37) ИНСИ написал(а):
Цитата
$this ->title = $title;
$this ->name  = $name ;
$this ->price = $price;

Ты же сам вроде дописал :)

Итак, смотрим
Цитата
function __construct($name,$title,$price){

1. Аргумент - Имя ($name), 2. Название ($title). 3. Цена ($price)
Далее при инициализации класса видим присваивание твоих аргументов:
$this ->title = $title; 
$this ->name = $name ;
$this ->price = $price;

Затем ты выводишь данные через метод:
echo $m->zed();

return $this->name." ".$this->title." ".$this->price;

Спустя 1 час, 8 минут, 9 секунд (23.06.2012 - 23:45) fortuna написал(а):
ИНСИ
function __construct($name,$title,$price)

и
return $this->name." ".$this->title." ".$this->price;

Вот тут всё понятно и выводиться как нужно !
но если написать вот так
function __construct($price,$name,$title)

а ретёрн оставить как есть
return $this->name." ".$this->title." ".$this->price;

То выводиться уже по непонятной логике .
Медвед 5 ПРИВЕТ
Я просто к чему всё это , если написать запрос на вставку новых данных в БД то нужно соблюдать данный салат . (это в будущем пока не делал)

Спустя 11 минут, 25 секунд (23.06.2012 - 23:57) rooor написал(а):
$m = new shop("ПРИВЕТ","Медвед",5);
function __construct($price,$name,$title)
return $this->name." ".$this->title." ".$this->price;

всё правильно выводится) смотри порядок


"ПРИВЕТ","Медвед",5
$price,$name,$title
В данном случае соответствернно: $price - ПРИВЕТ, $name - Медвед, $title - 5
А выводишь в таком порядке: return $this->name." ".$this->title." ".$this->price;
т.е.: Медвед($name ), 5($title), ПРИВЕТ($price)

Спустя 8 часов, 53 минуты (24.06.2012 - 08:50) fortuna написал(а):
rooor
Во спасибо теперь понял !
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.