2014-12-10 2 views
-3
<?php 

    $students = array(  
     "student1" => array(
      "age" => 36, 
      "gender" => "male", 
      "qualification" => "Master", 
     ), 
     "student2" => array(
      "age" => 25, 
      "gender" => "male", 
      "qualification" => "BA", 
     ), 
     "student3" => array(
      "age" => 26, 
      "gender" => "male", 
      "qualification" => "BA", 
     ), 
     "student4" => array(
      "age" => 25, 
      "gender" => "male", 
      "qualification" => "BA", 
     ), 
     "student5" => array(
      "age" => 20, 
      "gender" => "male", 
      "qualification" => "Master", 
     ), 
     "student6" => array(
      "age" => 20, 
      "gender" => "male", 
      "qualification" => "F.A", 
     ), 
    ); 

    ?> 

И мне нужен такой результат.Как я могу печатать массивы с каждой петлей

Hello Student1 
Your age is 36 and 
Your gender is male and 
Your qualification is Master. 

Hello Student2 
Your age is 25 and 
Your gender is male and 
Your qualification is BA. 

Я попробовал вот так.

foreach($students as $key=>$value) 
{ 
    echo "Mr".$key."<br />"; 
     foreach($value as $key=>$value) 
    { 
     echo" Your $key is $value and <br />"; 

    } 
} 

И мой результат вот так.

Hello Student1 
Your age is 36 and 
Your gender is male and 
Your qualification is Master and 

Hello Student2 
Your age is 25 and 
Your gender is male and 
Your qualification is BA and 
+0

Ур ожидаемый ответ и ур результат такой же! так что ур вопрос ?? –

ответ

1

Нет необходимости в том, чтобы другой другой инструмент внутри, вы можете просто использовать его. Каждая копия вспомогательного массива ($info), вам просто нужно будет назвать его индексы.

foreach ($students as $name => $info) { 
    echo " 
    Hello $name, <br/> 
    Your age is: $info[age] <br/> 
    Your gender is: $info[gender] <br/> 
    Your qualification is: $info[qualification] <hr/> 
    "; 
} 

Но если вы действительно хотите идти, что два Еогеасп маршрут, да вы могли бы добавить условие во втором контуре, чтобы предотвратить его добавления лишнего and:

foreach ($students as $name => $info) { 
    echo "Hello $name "; 
    foreach($info as $att => $val) { 
     echo "Your $att is: $val ", (end($info) != $val) ? ' and ' : '<br/>'; 
    } 
} 
0

Попробовать -

foreach($students as $key=>$value) 
{ 
    echo "Mr".$key.""; 
    $count = 1; 
    foreach($value as $key=>$val) 
    { 
     echo" Your $key is $val"; 
     if ($count != count($val)) { 
      echo " and "; 
     } 

    } 
} 
0

Попробуйте этот код:

foreach($students as $key => $value) { 
    echo 'Hello ', $key, ' Your age is ', $value['age'], ' gender is ' . $value['gender'], ' and Your qualification is ', $value['qualification'] 
} 

Вы можете выполнить строку с echo, но кома будет лучше для производительности.

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