2012-06-27 3 views
0

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

$nickAndNames = array( 
    array("Johnie", "John Larson"), 
    array ("Maggie", "Margaret London"), 
    array("Nic","Nicholas Carradine") 
); 

Не могли бы вы помочь мне напечатать только первые элементы? Я имею в виду Джени, Мэгги, Ник.

ответ

4

Каждый элемент массива представляет собой другой массив. Каждый элемент этого внутреннего массива в свою очередь содержит 2 элемента: элемент 0 (строка, псевдоним) и элемент 1 (другая строка, имя). Таким образом, вы должны сначала петлю через $nicksAndNames массив, а затем отобразить первый элемент внутреннего массива (который является элементом 0):

// loop through $nickAndNames and assign, in turn, each inner array 
// to a variable named $nickAndName 
foreach ($nickAndNames as $nickAndName) { 
    // this $nickAndName variable now contains the inner array, something like: 
    // array("Johnie", "John Larson"), so "Johnie" is the first element, 
    // element 0 
    echo $nickAndName[0]; 
} 
+0

спасибо миллион! –

0

взгляда здесь:

foreach ($nickAndNames as $key => $value) { 
    var_dump($value[0]); 
} 
1

Это будет Переберите все имена:

foreach($nickAndNames as $data) 
    echo $data[0]; 
-2

Это должно дать вам то, чтобы работать с:

foreach ($nickAndNames as $person) 
{ 
    reset($person); // May not be needed. 
    print current($person); 
} 
2

Вы хотите использовать цикл foreach, чтобы пройти через массив, а затем распечатать первый элемент, индекс 0.

$nickAndNames = array( 
    array("Johnie", "John Larson"), 
    array ("Maggie", "Margaret London"), 
    array("Nic","Nicholas Carradine") 
); 

foreach ($nickAndNames as $name) { 
    echo $name[0]; 
} 
-2

Если бы вы могли исправить массив с ключом парой значений должным образом с именем, как показано ниже,

$nickAndNames = array( 
     array("nickname" => "Johnie", "name" => "John Larson"), 
     array ("nickname" => "Maggie", "name" => "Margaret London"), 
     array("nickname" => "Nic","name" => "Nicholas Carradine") 
     ); 

Вы можете сделать

foreach($nickAndNames as $nickAndName){ 
    if(is_array($nickAndName)) 
    { 
     foreach($nickAndName as $nN) 
     { 
      echo 'nickname = '. $nN['nickname']; 
      echo 'name = '. $nN['name']; 
     } 
    } 
    else 
    { 
     echo 'nickname = '. $nN['nickname']; 
     echo 'name = '. $nN['name']; 
    } 
} 

Надеется, что это помогает,

Karthik

Смежные вопросы