порядковый номер по значению в массиве php

motoroller

Новичок
порядковый номер по значению в массиве php

$countries=array(
array('e'=>'belize', 'r'=>'Белиз','code'=>'BHXX0002', 'p'=>'Белиза'),
array('e'=>'guatemala', 'r'=>'Гватемала', 'code'=>'GTXX0002', 'p'=>'Гватемалы'));


Вопрос такой, допустим у меня такой массив, у меня идёт входящяя страна по англ, например, belize, как мне получить её значение по-русски (ну или хотя бы получить порядковый номер чтобы я смог обратиться типа $countries[$i]['r'], ну конечно можно пройтись по всему массиву foreach, а может есть функция какая. ...


Всем заранее спасибо
 

damngood

Мозг был, но ушел...
Что ты именно делаешь? Ответь что ты проектируешь.
 

motoroller

Новичок
у меня есть массив, и туда через GET попадает имя страны по англ, так вот мне надо оттуда выцепить все данные по другим полям, не используя цикл, с циклом я сам уже сделал !
 

damngood

Мозг был, но ушел...
PHP:
//ну а так перебирай свой массив $countries.
foreach($countries as $k=>$v) {
    if($v["e"] == "belize"){
        return $k;
    }
}
так вроде.

UPD:
Или сделай отдельный мини массив, где поместишь ID большого массива и имя страны для поиска
 

motoroller

Новичок
Уважаемый Вы наверно невнимательно прочитали моё сообщение! Я хотел узнать как это сделать не применяя цикл!
 

damngood

Мозг был, но ушел...
Уважаемый, вы видимо снизу приписку не прочли, после UPD...
 

dimagolov

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

-~{}~ 03.12.09 09:14:

нет ли такой функции ?
RTFM
 

motoroller

Новичок
да втом и дело что данные статистические, на фиг в базу вгонять это

-~{}~ 03.12.09 16:16:

А как тут можно структуру поменять?

''belize''=>'Белиз' можно так конечно ...
но так и так у меня есть и другие поля ...
их мне тоже надо вытаскивать

-~{}~ 03.12.09 16:17:

ну я знаю, что есть куча, я же спрашивал может вы знаете ...
 

dimagolov

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

п.с. с твоими способностями вся твоя псевдоптимизация выйдет боком, так что даже не пробуй.

п.п.с. хотя есть красивое решение для php-массива, но во-первых массив нужно менять, что для тебя табу, а во-вторых сам догадайся.

-~{}~ 03.12.09 09:18:

молодец :)
ну сделай значением массив со всеми нужными полями
 

dimagolov

Новичок
motoroller, такие вещи нужно делать самостоятельно. прекращай попрошайничать, все тебе уже объяснили и разжевали.
 

dimagolov

Новичок
damngood, мало того, что постишь код, так и код еще идиотский, не позорься.
 

motoroller

Новичок
Ладно уж ...
Массив как массив, запихну в базу, раз лучше... чего уж тут
 

damngood

Мозг был, но ушел...
dimagolov
Кстати с тем кодом можно было вернуть то, что он хочет, но через сессию)))

-~{}~ 03.12.09 16:36:

motoroller
Кстати а почему не сделать массив в виде:

$countries=array(
"belize" => array('id'= id, 'e'=>'belize', 'r'=>'Белиз','code'=>'BHXX0002', 'p'=>'Белиза'),
"guatemala" => array('id'= id, 'e'=>'guatemala', 'r'=>'Гватемала', 'code'=>'GTXX0002', 'p'=>'Гватемалы'));

?
 

dimagolov

Новичок
damngood, этот вариант уже был озвучен за 20 минут до твоего поста :) ты у нас еще и писатель, как тот чукча, читать что пишут другие не научен, только код постить умеешь?

motoroller, и это правильно. в первую очередь то, что так ты отделяешь данные от кода, ну а как бонус, используешь для специализированной задачи (выбор данных по ключу) специализированное средство (БД), которое уже десятки лет затачивается под эту задачу.
 
Сверху