forum.rastrnet.ru  

Вернуться   forum.rastrnet.ru > Компьютеры и всё, что с ними связано > Программируем

 Сообщения за день       Добавить альбом       Поиск      Правила форума  


Ответ
 
Опции темы Опции просмотра
Старый 15.06.2008, 14:13   #1
m`ax
Не злой сказочник
 
Аватар для m`ax
 
Регистрация: 12.06.2005
Сообщений: 552
Отправить сообщение для m`ax с помощью ICQ Отправить сообщение для m`ax с помощью Skype™
По умолчанию немного PHP

Кто знаком с PHP?
Как на нём создать массив объёктов и перебрать их в цикле?
Ну, например создать объект cat со свойствами name, height, weight
ещё объект dog с теми-же свойствами...
Потом всё в массив запихнуть и в цикле, например вывести свойства каждого...
Покажите пример (;
m`ax вне форума   Ответить с цитированием
Старый 15.06.2008, 20:33   #2
m`ax
Не злой сказочник
 
Аватар для m`ax
 
Регистрация: 12.06.2005
Сообщений: 552
Отправить сообщение для m`ax с помощью ICQ Отправить сообщение для m`ax с помощью Skype™
По умолчанию

Если вдруг понадобится кому, ага...

Код:
<?
// В этом массиве будут храниться reference на объекты
$animals = array();

class animal{
	var $name, $height, $weight;

	// ф-я установки значений параметрам объекта
	function animal_set($name, $height, $weight)
	{
		$this->name = $name;
		$this->height = $height;
		$this->weight = $weight;
	}
}

// создаю объекты
$cat = new animal;
$dog = new animal;

// задаю свойства
$cat->animal_set("Мурзик", 15, 5);
$dog->animal_set("Шарик", 20, 45);

// пихаю в массив reference на объекты
$animals[] = &$cat;
$animals[] = &$dog;

// перебераю все элементы массива
foreach ( array_keys($animals) as $key )
{
	// получаю reference на текущий объект
	$current_animal = &$animals[$key];

	// а вот теперь перебор свойств объекта в цикле
	foreach ($current_animal as $property => $value)
	{
		print "<b>$property</b>: $value<br />";
	}   
};
m`ax вне форума   Ответить с цитированием
Старый 15.06.2008, 20:44   #3
m`ax
Не злой сказочник
 
Аватар для m`ax
 
Регистрация: 12.06.2005
Сообщений: 552
Отправить сообщение для m`ax с помощью ICQ Отправить сообщение для m`ax с помощью Skype™
По умолчанию

Да, кстати, на ПХП 4 -- foreach не работает. Его там нет.
Тока на 5
m`ax вне форума   Ответить с цитированием
Старый 16.06.2008, 00:34   #4
Ратибор
 
Регистрация: 20.05.2005
Сообщений: 2,620
Отправить сообщение для Ратибор с помощью ICQ
По умолчанию

Цитата:
Сообщение от m`ax Посмотреть сообщение
Да, кстати, на ПХП 4 -- foreach не работает. Его там нет.
Тока на 5
Не правда ваша. В 4-ке foreach очень даже есть.

ООП, конечно, рулит, но именно в PHP можно было делать и не через классы, а через ассоциативные массивы:
Цитата:
// Массив как карта (свойств)
$map = array( 'version' => 4
, 'OS' => 'Linux'
, 'lang' => 'english'
, 'short_tags' => true
);


foreach ($property as $value => $map) {
echo "$property => $value\n";
}
__________________
[!!!] проблемы с сетью? 223-17-43
__________________
Мы баним с улыбкой. ©
Ратибор вне форума   Ответить с цитированием
Старый 16.06.2008, 02:08   #5
m`ax
Не злой сказочник
 
Аватар для m`ax
 
Регистрация: 12.06.2005
Сообщений: 552
Отправить сообщение для m`ax с помощью ICQ Отправить сообщение для m`ax с помощью Skype™
По умолчанию

Цитата:
Сообщение от Ratibor Посмотреть сообщение
Не правда ваша. В 4-ке foreach очень даже есть.
Я имел ввиду foreach для объектов
m`ax вне форума   Ответить с цитированием
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Немного трансу chaos В поисках музыки 0 05.12.2005 21:55


Текущее время: 20:44. Часовой пояс GMT +7.


Powered by vBulletin® Version 3.8.4 Patch Level 5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Форум открыт в июле 2004 г.
Кошки и котята Красноярска и Сибири Живой Мир Сибири