[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как получить ключ элемента в многомерном массиве
Serg86111
Из смарти шаблона получил список переменных передаваемых шаблону
$un = $this->_tpl_vars;

В переменной $un содержится многомерный ассоциативный массив.
Заранее известно содержание искомого элемента, к примеру почта vsaia@yandex.ru.
Нужно узнать каким ключам соответствует данный элемент массива, к примеру
echo $un[sett][user][mail];//на выходе vsaia@yandex.ru

Как узнать значения [sett][user][mail]?
Подскажите кто знает, кучу вариантов перебрал уже.
Xpund
print_r($un[sett][user][mail])

Если я конечно правильно понял.

_____________
минус, конечно, иногда полезен, но плюс мне нравиться больше :)
Женский журнал - Жена сказала раскрутить сайт любой ценой (Sorry)
Игорь_Vasinsky
пробегать в цикле по массиву - проверять значение и складывать ключи за пазуху.
если в итоге значение == искомуму - то вывести ключи, если нет - то выкинуть все ключи

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Serg86111
Цитата (Xpund @ 14.04.2015 - 12:01)
print_r($un[sett][user][mail])

Если я конечно правильно понял.

Мне не известны [sett][user][mail], их то я и хочу узнать.
Xpund
print_r($un);


_____________
минус, конечно, иногда полезен, но плюс мне нравиться больше :)
Женский журнал - Жена сказала раскрутить сайт любой ценой (Sorry)
Serg86111
Цитата (Игорь_Vasinsky @ 14.04.2015 - 12:05)
пробегать в цикле по массиву - проверять значение и складывать ключи за пазуху.
если в итоге значение == искомуму - то вывести ключи, если нет - то выкинуть все ключи

На примере можно?
Serg86111
Цитата (Xpund @ 14.04.2015 - 12:07)
print_r($un);

Получил несколько сотен элементов массива, в которых сложно чтото разобрать. Понятно только что последний ключ email, a сколько и каких родительских не понятно.
Игорь_Vasinsky
Цитата
На примере можно?


чего?

цикла?
рекурсии?
сбор ключей (в пустой массив) ?
сравнение данных?
очистка массива?

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
stump
может array_search(...) подойдет?

_____________
Трус не играет в хокей
kristall
Цитата (Serg86111 @ 14.04.2015 - 12:12)
Цитата (Xpund @ 14.04.2015 - 12:07)
print_r($un);

Получил несколько сотен элементов массива, в которых сложно чтото разобрать. Понятно только что последний ключ email, a сколько и каких родительских не понятно.

Используй print_r как у меня в подписи.

_____________
echo '<pre>',print_r($var, 1);die;

root@server# make love && war
Serg86111
Цитата (stump @ 14.04.2015 - 14:08)
может array_search(...) подойдет?

да пробывал, чето не срослось, ничего не выводит
Игорь_Vasinsky
бля. тебе промониторить надо или на php поймать эти ключи массива.

другими словами - ты хочешь увидеть просто или потом использовать?

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Serg86111
Цитата (Игорь_Vasinsky @ 14.04.2015 - 16:23)
бля. тебе промониторить надо или на php поймать эти ключи массива.

другими словами - ты хочешь увидеть просто или потом использовать?

Увидеть.
Игорь_Vasinsky
echo '<pre>' . print_r($un, 1) . '</pre>';
exit();


_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
stump
Если использовать, то можно модернизировать эту функцию:
https://php.net/manual/ru/function.array-search.php#106107

_____________
Трус не играет в хокей
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.