Помощник
Здравствуйте, гость ( Вход | Регистрация )
Печально, но факт. |
Youshi |
2008-12-15, 0:40
Сообщение
#21
|
|
Любитель Группа: Разработчики Сообщений: 118 Регистрация: 2008-12-14 Из: Россия. Астрахань Репутация: нет Всего: 8 |
Тогда вот так:
но это при условии, что в $classes не попадают еще какие-то классы кроме перечисленных в $arr |
|
|
||
Alexander |
2008-12-15, 0:47
Сообщение
#22
|
|
Eleanor developer Группа: Администраторы Сообщений: 5 262 Регистрация: 2008-11-11 Из: Николаев Версия системы: RC5 Репутация: нет Всего: 67 |
Да, такая идея у меня проскакивала.. Только, действительно ли быстрее эти конструкции чем
|
|
|
||
Next |
2008-12-15, 0:56
Сообщение
#23
|
|
Новичок Группа: Разработчики Сообщений: 76 Регистрация: 2008-12-13 Репутация: нет Всего: 8 |
if ($init_other_classes) $arr = array_diff ($classes, $arr); else $arr = array_intersect ($classes, $arr); foreach($arr as $v) { $v=ucfirst($v); $this->$v=new $v(&$this); } --------------------------------- блин, опередили)) if ($init_other_classes xor in_array($v,$classes)) будет проверять каждый элемент $arr а у Youshi он заранее все исключит Сообщение отредактировал Next - 2008-12-15, 0:56 |
|
|
||
Youshi |
2008-12-15, 1:08
Сообщение
#24
|
|
Любитель Группа: Разработчики Сообщений: 118 Регистрация: 2008-12-14 Из: Россия. Астрахань Репутация: нет Всего: 8 |
Тест показал, что не быстрее...
При $x = true; Функция выполняется 0.71633 секунд против 0.06455 в цикле При $x = false скрипт крутится 30 секунд и прерывается по таймауту. |
|
|
||
Next |
2008-12-15, 1:48
Сообщение
#25
|
|
Новичок Группа: Разработчики Сообщений: 76 Регистрация: 2008-12-13 Репутация: нет Всего: 8 |
не может такого быть))
------ аа понял
при $x=false происходит некорректная проверка содержания false в $arr - изза этого процесс тупо "зависает" Так что используй
Да и потом уж очень много элементов массивов - изза этого будет тоже зависать)) Так что
меняем на
Проверяем и вуаля - что я и говорил))) 0.00213 - при новом методе 0.20476 - прии старом |
|
|
||
Youshi |
2008-12-15, 2:05
Сообщение
#26
|
|
Любитель Группа: Разработчики Сообщений: 118 Регистрация: 2008-12-14 Из: Россия. Астрахань Репутация: нет Всего: 8 |
Цитата при $x=false происходит некорректная проверка содержания false в $arr - изза этого процесс тупо "зависает" Так что используй эх. точно. невнимательность... угу. у меня в обоих случаях (true - false) выдало почти одинаковые результаты: 0.03952 11.95211 только количества элементов я другие брал... |
|
|
||
Текстовая версия | 0.0358 сек. 11 запросов GZIP включен Сейчас: 2025-01-22, 3:08 |