Проблема с in_array

Garret

Кто здесь?
Проблема с in_array

Возможно ли функцией in_array() проверить вхождение элемента в двух-мерный массив(например в первую колонку), немогу сообразить как :(
 

vasa_c

Новичок
В какую "первую колонку"?
Может вы это имеете ввиду - in_array( $val, $A[ 0 ] );?
 

Garret

Кто здесь?
Я пробовал. Вот код:
Код:
$lang_array = array(  "en" => "en",
					  "fr" => "fr",
					  "it" => "it",
					  "es" => "es",
					  "pt" => "pt",
					  "ja" => "jp"  );

$loc = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2);

if (!in_array($loc, $lang_array[0])) $loc = "en";
Выдает Warning: in_array(): Wrong datatype for second argument in ...

-~{}~ 25.04.06 18:59:

Спасибо, проблему уже решил:
Код:
if (!in_array($loc, array_keys($lang_array))) $loc = "en";
 

Garret

Кто здесь?
:)

-~{}~ 25.04.06 20:15:

Та же проблема с array_unique() :(

Как отобрать другой массив по уникальнім значениям например второго поля?
 

Garret

Кто здесь?
Да читал я, не помагает :(

-~{}~ 25.04.06 21:52:

?

-~{}~ 26.04.06 01:07:

Народ помогите :'(
 

SelenIT

IT-лунатик :)
Garret
Для начала, не путайся в терминах. Твой массив - не двумерный, а одномерный ассоциативный.
 

Garret

Кто здесь?
SelenIT да, извиняюсь, обшибся.

Necromant твой вариант не дает нужных результатов.

Ну например:

User1 14 Kiev 2
User2 3 Kiev 8
User8 37 Berlin 2
User4 14 Kiev 7

Мне нужно из этой таблицы отобрать уникальные записи по третьему полю в отдельный массив, будет:

Kiev
Berlin
 

Фанат

oncle terrible
Команда форума
господи, да кто ж тебе мешает его просто в цикле перебрать?
 

Garret

Кто здесь?
Я так и сделал в цикле, но у меня кол-во записей измеряется десятками тысяч, цикл это не очень оптимальный вариант.
 

Фанат

oncle terrible
Команда форума
а ты думаешь, что встроенные функции пхп пользуются не циклом, а каким-то волшебным способом? И скорость вырастет в десятки раз?
 

SiMM

Новичок
> кол-во записей измеряется десятками тысяч
Откуда берутся эти записи?
 

Фанат

oncle terrible
Команда форума
это имеет разницу, поскольку существует много других способов проверить вхождение информации, кроме парсинга файла в массив и последующего перебора массива.
 

SiMM

Новичок
> ну к примеру
Так к примеру или из csv? Две большие разницы между решением задачи средствами SQL и при их отсутствии. Если всё же csv - проще всего НАВЕРНО при чтении создавать массив, ключи которого будут являться значениями элементов первой колонки. Опять же - только наверно. Ибо задача не описана в достаточном объёме. Посему рекомендую к ознакомлению http://simm.jino-net.ru/Docs/Bentli_Pearl1.htm
 
Сверху