[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Получить название массива из массива
iskiz
Здравствуйте посетители форума.
Сижу читаю обучения, но никак не могу отстрелить как получить имя массива из массива на таком примере:
$templ_xfields = array (
'country' => array ("текст1", "text1"),
'direc' => array ("текст2", "text2"),
);

Подскажите пожалуйста как получить имя первого массива из массива "$templ_xfields". Тоесть нужно получить слово "country".

Думал что-то типа этого "echo $templ_xfields[0];", но как оказалось не то.
Буду благодарен за помощь. Спасибо.
Zzepish
foreach($templ_xfields $key=>$val){

echo $key.'<br />';

}
Placido
echo key($templ_xfields);
iskiz
Цитата (Zzepish @ 27.11.2012 - 19:07)
foreach($templ_xfields $key=>$val){

echo $key.'<br />';

}


Спасибо, работает. А как получить только первое значение? Вы кстати "as" пропустили.
Zzepish
iskiz

foreach($templ_xfields as $key=>$val){

echo $key.'<br />';
break;

}

Так попробуй)
Спасибо за исправление- не заметил)
iskiz
Цитата (Placido @ 27.11.2012 - 19:14)
echo key($templ_xfields);

Всмысле "echo key($templ_xfields[0]);"? Не выходит
iskiz
Цитата (Zzepish @ 27.11.2012 - 19:23)
iskiz

foreach($templ_xfields as $key=>$val){

        echo $key.'<br />';
        break;

}

Так попробуй)
Спасибо за исправление- не заметил)

"break;" это хорошо, а если нужно 2-е значение,а не первое? Есть какие-то идеи?
Zzepish
iskiz
тогда я бы делал так:

$s=0;
foreach($templ_xfields as $key=>$val){

if($s===1) echo $key;

$s++;

}
unset($s);
rooor
Цитата (Placido @ 27.11.2012 - 23:14)
echo key($templ_xfields);

а чем этот вариант плох?

нафига делать цикл из-за одного(первого) элемента?


UPD: не заметил последний пост ТС
iskiz
Цитата (Zzepish @ 27.11.2012 - 19:30)
iskiz
тогда я бы делал так:

$s=0;
foreach($templ_xfields as $key=>$val){

if($s===1) echo $key;

$s++;

}
unset($s);

Отлично. Спасибо за решение.
Zzepish
iskiz
незачто)
iskiz
Цитата (Zzepish @ 27.11.2012 - 19:40)
iskiz
незачто)

Гугля интернет наткнулся еще на одно решение.
Мож кому пригодится:

$output = array_keys($templ_xfields);
echo $output[1];
Placido
В PHP 5.4 можно сделать так:
echo array_keys($templ_xfields)[1];\\direc

echo array_keys($templ_xfields)[0];\\country
Zzepish
iskiz
хм. интересно! гляну)
Ааа. Точно) а я и забыл про эту функцию)
НО смотри в чем дло- она не выведет ключей ассоциативного массива. Она переводит в стандартный массив
AlmazDelDiablo
Цитата (Zzepish @ 28.11.2012 - 00:46)
НО смотри в чем дло- она не выведет ключей ассоциативного массива. Она переводит в стандартный массив

Она возвращает массив, где собраны все ключи ассоциативного массива по порядку, что как раз и нужно.

_____________
Блог | VK | GitHub | Twitch
Быстрый ответ:

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