Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Создать массив из массива

Сообщения:  [1-6] 

 
 автор: Тень*   (25.04.2010 в 22:15)   письмо автору
 
   для: Владимир55   (25.04.2010 в 15:09)
 

Неясно что тут может тормозить вообще. Попробуй вынести strtolower($slovo) за цикл, strpos() вместо strstr() применять.

Для array_filter() придётся использовать global ещё. Я не знаю почему, но у меня это сразу вызывает отторжение.

  Ответить  
 
 автор: dk-www   (25.04.2010 в 22:07)   письмо автору
 
   для: Владимир55   (25.04.2010 в 15:09)
 

>А нет ли решения без базы?

В вашем случае база - лучшее решение.

  Ответить  
 
 автор: Владимир55   (25.04.2010 в 15:09)   письмо автору
 
   для: serenya1983   (25.04.2010 в 13:33)
 

Да, с базой должно хорошо получиться. Но ради этой одной оперции подключать её не хочется.

А нет ли решения без базы?

  Ответить  
 
 автор: serenya1983   (25.04.2010 в 13:33)   письмо автору
 
   для: Тень*   (25.04.2010 в 13:28)
 

Использовать базу данных!

  Ответить  
 
 автор: Тень*   (25.04.2010 в 13:28)   письмо автору
 
   для: Владимир55   (25.04.2010 в 12:35)
 

[поправлено модератором]

  Ответить  
 
 автор: Владимир55   (25.04.2010 в 12:35)   письмо автору
 
 

Есть массив, содержащий такие элементы:
$m_vse[] = «Синий лед»;
$m_vse[] = «Три толстяка»;
$m_vse[] = «Авиационный керосин»;
$m_vse[] = «Апельсин»;
$m_vse[] = «Месяц апрель»;


И есть однословный образец
$slovo = «син»;

Требуется сформировать второй массив, состоящий из расположенных в любом порядке строк первого массива, включающих в себя образец. Что бы получилось так:
$m_sl[0] = «Синий лед»;
$m_sl[1] = «Авиационный керосин»;
$m_sl[2] = «Апельсин»;


Последовательная обработка элементов массива
for ($i=0; $i < count($m_vse); $i++)
if (strstr(strtolower($m_vse[$i]), strtolower($slovo))) 
$m_sl[] = $m_vse[$i] ;

не устраивает по той причине, что занимает слишком много времени, ибо массив $m_vse довольно большой. Хотелось сделать это как-то иначе. Витает идея использовать array_map, но не получается…

  Ответить  

Сообщения:  [1-6] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования