-5

この配列の使用

array(
    array('status'=>1, 'name'=>'James Wah'),
    array('status'=>1, 'name'=>'James Weh'),
    array('status'=>2, 'name'=>'James Wih'),
    array('status'=>2, 'name'=>'James Woh'),
    array('status'=>2, 'name'=>'James Wuh'),
)

どうすればこのように出力できますか

  • ジェームズ・ワー
  • ジェームズ・ウェイ
  • ジェームズ・ウィ
  • ジェームズ・ウォー
  • ジェームズ・ウー

foreach() を 1 つだけ使用し、2 つの foreach() を使用する

4

3 に答える 3

1

コード:

echo "<ul>";
foreach($statuses as $status) {
echo "<li>". $status['name'] . "</li>";
}
echo "</ul>";

アップデート:

$count分離を作成するために変数を使用できます。例:

$count = 0;
echo "<ul>";
foreach($statuses as $status) {
    if($count==2){
    echo "<li>". $status['name'] . "</li><br/>"; 
    }
    else{
    echo "<li>". $status['name'] . "</li>";
    }
    $count++;
}
echo "</ul>";

更新された出力:

• James Wuh
• James Weh
• James Wih

• James Woh
• James Wuh

コードパッド: http://codepad.org/NyLIAUNI

更新: http://codepad.org/xhmlCwXW

お役に立てれば!

于 2013-07-11T10:41:37.557 に答える
1
$ul = '<ul>';
foreach($arr as $v) {
 $ul.='<li>'.$v['name'].'</li>';
}
$ul.='</ul>';

それは簡単な解決策です。接着剤を前後に追加する必要があるため、ここでは内破が機能しないため、1つの foreach だけでは可能だとは思いません

$sortbyStatus = array();
foreach($arr as $v) {
 $sortbyStatus[$v['status']][] = $v['name'];
}

$uls='';
foreach($sortByStatus as $vals) {
 $uls.'<ul>';
 foreach($vals as $v) {
   $uls.='<li>'.$v.'</li>';
}
 $uls.='</ul>;
}

}

于 2013-07-11T10:32:29.603 に答える