php Как вывести значения из массива в li? - PullRequest
1 голос
/ 25 апреля 2011

у меня есть многомерный массив, подобный этому:

Array
(
[5432980] => Array
    (
        [0] => 223
        [entry_id] => 223
        [1] => 138
        [elo_score] => 138
        [2] => 38
        [hits] => 38
    )

[2712949] => Array
    (
        [0] => 701
        [entry_id] => 701
        [1] => 128
        [elo_score] => 128
        [2] => 28
        [hits] => 28
    )
)

я получаю массив отсюда $leader_array = fns_elo_search_entries();

я пытаюсь получить каждый массив ([5432980], [2712949]) в li, используя foreach

как то так

<ul>
<li>load here the information from `[5432980]`</li>
<li>load here the information from `[2712949]`</li>
</ul>

я знаю, что мне нужно использовать два оператора foreach, потому что это многомерный массив есть идеи? спасибо

Ответы [ 4 ]

2 голосов
/ 25 апреля 2011

Альтернативно, через запятую:

foreach ($arr as $key => $values):

    echo "<li>{$key}: ".implode(', ', $values)."</li>";

endforeach;

load here the information from [5432980] не слишком понятно, насколько вы хотите и как вы хотите отформатировать его, поэтому я просто дал альтернативу 2 циклам foreach.

Как уже упоминалось в комментариях, вы можете просто получить доступ к клавишам напрямую.

foreach ($arr as $key => $values):

    echo "<li>Score: ".$values['elo_score']."</li>";//etc.

endforeach;
2 голосов
/ 25 апреля 2011
echo '<ul>';
foreach($array as $valueArray)
{
   echo '<li>';
   foreach($valueArray as $value)
   {
     echo $value;
   }
   echo '</li>';
}
echo '</ul>';
1 голос
/ 25 апреля 2011
echo "<ul>";
array_walk($arr, 'ulli');
echo "</ul>";
function ulli(&$value, $index){
    if(is_array($value)){
        echo "<ul>";
        array_walk($value, 'ulli');
        echo "</ul>";
    }else{
        echo '<li>'.$value.'</li>';
    }
}
1 голос
/ 25 апреля 2011
<ul>
<?php
foreach($arrs as $arr){
  echo "<li>";
  foreach($arr as $a){
    echo "value: " . $a;
  }
 echo "</li>";
}

?>

</ul>

Это просто базовое форматирование.

...