2014-02-10 3 views
-1

У меня есть массив, который выглядит следующим образом:PHP получить многомерное значение массива

'application_noreply_email' => array(
    'name' => 'example.com', 
    'host' => 'smtp.gmail.com', 
    'connection_class' => 'login', 
    'port' => '587', 
    'connection_config' => array(
     'ssl' => 'tls', 
     'username' => '[email protected]', 
     'password' => 'pass', 
    ), 
), 

Как я могу получить значение имени пользователя?

Я пробовал использовать его так, как вы предлагаете, но он не работает.

$config['application_noreply_email']['username'] 

, но это работает в различных ситуациях $config['application_noreply_email']

+1

Вы прочитали официальное руководство? (http://www.php.net/manual/en/language.types.array.php) – hindmost

+0

Практика. Практика. – JakeGould

ответ

1

Просто ряд заключенных в квадратные скобки имена ключей:

$application_noreply_email['connection_config']['username'] 

От того, как вы отформатировали ваш вопрос, это выглядит как application_noreply_email может быть ключевым в более крупный массив, и в этом случае вы сделаете это:

$theArrayVariableName['application_noreply_email']['connection_config']['username'] 
+1

Спасибо, второй правильный ответ, я уже пробовал первый, но он не прошел. Я выберу это как ответ в ближайшее время. – user2406735

-1

Вам необходимо предоставить больше данных, но это ниже поможет вам.

echo $myarray[0]['username']; 
2

Если массив называется $myarray, то

$username = $myarray['application_noreply_email']['connection_config']['username']; 
1

Первый вопрос это то, что переменная, которая держит массив?

Пример

$myArray = array(
    'application_noreply_email' => array(
    'name' => 'example.com', 
    'host' => 'smtp.gmail.com', 
    'connection_class' => 'login', 
    'port' => '587', 
    'connection_config' => array(
    'ssl' => 'tls', 
    'username' => '[email protected]', 
    'password' => 'pass', 
), 
); 

print $myArray['application_noreply_email']['connection_config']['username']; 
0

Если вы хотите получить информацию, вы должны перебрать массив и отображать его.

foreach ($application_noreply_email as $application) { 

    echo '<dl style="margin-bottom: 1em;">'; 

    foreach ($application as $key => $value) { 
    echo "<dt>$key</dt><dd>$value</dd>"; 
    } 

    echo '</dl>'; 
} 
Смежные вопросы