2017-07-14 1 views
1

条件が真であるときに情報を表示する必要がありますが、何度も条件が真であるという問題があります。私はarray()を行うと思うが、私はこれをどうやってやるかわからない。私は多くのレコードを持って、変数prev_stateで常に変化し、コンテンツをループ内に1つだけ入れて

  1. は1を3
  2. を持っていた '' 持っている私の$list

    マイビュー

    <?php 
    $prev_state = ''; 
    for ($i = 0; $i < $cont; $i++) { 
    $state = $list[$i]['state']; 
    $name = $list[$i]['name']; 
        if($prev_state != $state){ 
         if($state == '3'){ 
         echo 'Header A'; 
         }//state = 3 
        else { 
         echo 'Headear B'; 
        } 
        }// if 
        $prev_state = $state; 
    ?> 
    <div> 
    Name: <?php echo $name; ?> 
    </div> 
    <?php 
    }// for loop 
    ?> 
    

  3. には3、buどのように前のように印刷Header A、私はそれを望んでいません。

もう1つは、条件が真であることを最初に示すヘッダー(AとB)が必要です。
例:

**Header A** 
- Marcus (this has state = 3) 
- Lia (this has state = 3) 

**Header B** 
- Robert (this has state = 1) 
- Loise (this has state = 3) 
- Bob (this has state = 1) 
- Fer (this has state = 3) 

私はあなたが私を助けることができると思います。

答えて

1

私はあなたの構文について考えています。あなたの構文が問題です。私はあなたのコードを使用し、新しいものを書き直しました、それは大丈夫です。

<?php 
    $prev_state = ''; 
    $list = array(
     array(
      'name' => 'marcus', 
      'state' => 3 
     ), 
     array(
      'name' => 'lia', 
      'state' => 3 
     ), 
     array(
      'name' => 'robert', 
      'state' => 1 
     ), 
     array(
      'name' => 'loise', 
      'state' => 3 
     ), 
     array(
      'name' => 'bob', 
      'state' => 1 
     ), 
     array(
      'name' => 'fer', 
      'state' => 3 
     ) 
    ); 
    $cont = count($list); 
    for ($i = 0; $i < $cont; $i++) 
    { 
     $state = $list[$i]['state']; 
     $name = $list[$i]['name']; 
     if($prev_state != $state) 
     { 
      if($state == '3') 
      { 
       echo 'Header A'; 
      } 
      else 
      { 
       echo 'Headear B'; 
      } 
     } 
     $prev_state = $state; 
     echo '<div> Name: ' . $name .'</div>'; 
    } 
?> 

このようなタグを閉じると問題があると思います。私はテストし、結果は大丈夫です。

Header A 
Name: marcus 
Name: lia 
Headear B 
Name: robert 
Header A 
Name: loise 
Headear B 
Name: bob 
Header A 
Name: fer 
関連する問題