Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> array_search по 2-мерному массиву, Возможно ли? И, если - да, то - как? 
V
    Опции темы
Wolf1994
Дата 28.7.2006, 18:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 5.10.2004

Репутация: 7
Всего: 29



Возможно ли воспользоваться функцией поиска по 2 (n)- мерному массиву?
То есть, есть массив: 

Код

$t [0] [0]="1";
$t [1] [0]="2";
$t [2] [0]="3";


Как осуществить в нём поиск?

Код

print array_search ("2", $t [...] [0]);


 smile

Добавлено @ 18:19 
Да, забыл добавить. Поиск по последнему параметру, то есть для [всех] [0] найти значение в первой размерности (во [всех]). 
PM MAIL WWW   Вверх
szz
Дата 28.7.2006, 18:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1289
Регистрация: 31.5.2005
Где: Moscow, Jerusalem

Репутация: 8
Всего: 33



свою написать.
вроде того (не тестил):
Код

function array_search_2d($what, $array){
    foreach($array as $k1 => $v1){
       foreach($v1 as $k2 => $v2){
            if($what==$v2)
                  return array($k1, $k2)
      }
   }
   return false;
}


Добавлено @ 18:22 
Цитата

Поиск по последнему параметру, то есть для [всех] [0] найти значение в первой размерности (во [всех]).  

   Чиво?..  smile  


--------------------
PM   Вверх
Wolf1994
Дата 28.7.2006, 20:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 5.10.2004

Репутация: 7
Всего: 29



Значит готового метода нет  smile 

Цитата

Чиво?..  

Я имел ввиду поиск в одном измерении... То есть, чтобы найти во втором измерении, можно воспользоваться тем же array_search: array_search ("2", $t [1]) - и для моего примера получить "0". То есть поиск: $t [первая размерность=x] [искать во второй] - возможен, а поиск: $t [искать в первой] [вторая размерность=x]... Как я понял - нет smile

Добавлено @ 20:04 
Вот если бы можно было поменять размерности местами  smile  
PM MAIL WWW   Вверх
Mal Hack
Дата 28.7.2006, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Готового решения нет. Надо релизовывать самому.
Да и форами, а то и while тут лучше было бы.

Код

$i = 0;
while( $t[$i][$fixed] != "0" && $i < sizeof( $t ) )
{ $i++ }

print $t[i][$fixed] . " - найденный элемент";
 
PM ICQ   Вверх
Wolf1994
Дата 28.7.2006, 22:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 5.10.2004

Репутация: 7
Всего: 29



Ясно. Это то, что я хотел узнать... А то думал, что слишком мудрю, в то время как есть готовое решение...

szz, Mal Hack, спасибо.
 
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0438 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.