2012-06-11 2 views
0

В PHP, Codeigniter: мой массив, $ phoneList, содержит следующее:Печать Наш массив данных

Array 
(
    [name] => One, Are 
    [telephonenumber] => 555.222.1111 
) 

Array 
(
    [name] => Two, Are 
    [telephonenumber] => 555.222.2222 
) 

Array 
(
    [name] => Three, Are 
    [telephonenumber] => 555.222.3333 
) 

Как перечислить имя каждого из? Каждый номер? Правильно ли я говорю, что мой массив содержит три разных массива? И это нормально, поскольку массив содержит массивы?

Когда я делаю print_r ($ phoneList), я получаю следующее:

Array ([0] => Array ([name] => One, Are [telephonenumber] => 555.222.1111) [1] => Array ([name] => Two, Are [telephonenumber] => 555.222.2222) [2] => Array ([name] => Three, Are [telephonenumber] => 555.222.3333)) 
+0

Какой язык? Perl? – Soz

+0

Отредактировано. PHP/Codeigniter – ClaytonDaniels

+0

Наличие массива массивов («многомерный массив») является вполне допустимым, общим и полезным. – Wiseguy

ответ

2

Вы, вероятно, хотите использовать foreach перебрать их. Что-то вроде этого:

foreach($data as $arr) { // assuming $data is the variable that has all this in 
    echo $arr['name'].": ".$arr['telephonenumber']."<br />"; 
} 
1

Совершенно нормально иметь массив массивов (в данном случае массив ассоциативных массивов). Они могут быть написаны так:

$arrayofarray = array(array('name' => 'aname', 'phone'=>'22233344444'), array('name' => 'bobble', 'phone'=>'5552223333')); 
print_r($arrayofarray); 

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

foreach ($arrayofarray as $arr){ 
    print $arr['name']."\n"; 
    print $arr['phone']."\n"; 
} 

Если вы хотите знать, какие условия установлены в каждом ассоциативном массиве вы можете используйте array_keys(), чтобы вернуть их (как простой массив). Например:

foreach ($arrayofarray as $arr){ 
    $setterms=array_keys($arr); 
    foreach ($setterms as $aterm){ 
      print "$aterm -> ".$arr[$aterm]."\n"; 
    } 
} 
Смежные вопросы