2017-07-18 7 views
2

特定の変数が呼び出された場合、何か他のものを出力するためのルールを得るには少し助けが必要です。 私は次のようにリストしたそれを打破するには:

private $zebra_moto_symbol = array 
("ES400", "MC9500", "MC9200", "MC9190", "MC9094", "MC9090", "MC9097", "MC9060",; 

と、このコードを使用して、リスト内のページへのモデルを引っ張る:これらのすべてが、2つのオン

public function manufacturer_models_list() { 
    $manu_name = $this->manufacturer_name; 
    $output = "<ul>"; 

    sort($this->$manu_name); 
    foreach($this->$manu_name as $model) { 
     $output .= "<li>" . "<a href=\"repair.php\">" . $model . "</a></li>"; 
    } 

    $output .= "</ul>"; 
    $output .= "<p class=\"clear\"></p>"; 
    $output .= "<a href=\"repair.php\" " . "id=\"arrange-repair\">Arrange A Repair</a>"; 
    return $output; 
} 

を、私はそれを必要としますrepair.phpリンクを表示しますが、2つのリンクは異なる必要があります。これを実現するためには何を入力する必要がありますか? ありがとうございます(申し訳ありませんが、この1つは私を困らせました)。 :)

+1

コードをフォーマットすることは可能です(可能な場合)。現在の形式では、読みにくいです。 – Neal

+1

ようこそ[so]。時間をかけて質問エディタのサイトと機能を調べてください。テキストブロックをコードとしてマークするのに使うことができる素敵な '{}'ボタンがあります。また、読みにくいため、すべてのコードを1行に入れないでください。エディタの下には、それがどのように見えるかを知り、それを提出する前に調整するための質問のプレビューがあります。 – axiac

答えて

0

これにはswitchステートメントを使用できます。

<? 
    public function manufacturer_models_list() { 
     $manu_name = $this->manufacturer_name; 
     $output = "<ul>"; 
     sort($this->$manu_name); 
     foreach ($this->$manu_name as $model) { 
      switch($model) { 
       //Output NOT repair.php on this list of strings 
       case "ES400": 
       case "MC9500": 
        $output .= "<li>DIFFERENT OUTPUT</a></li>"; 
        break; 
       //default is the action that happens if none of the previous conditions are met 
       default: 
        $output .= "<li>" . "<a href=\"repair.php\">" . $model . "</a></li>"; 
        break; 
      } 
     } 
     $output .= "</ul>"; 
     $output .= "<p class=\"clear\"></p>"; 
     $output .= "<a href=\"repair.php\" " . "id=\"arrange-repair\">Arrange A Repair</a>"; 
     return $output; 
    } 
?> 

私が正しく理解している場合続きを読む程度Switch Statements

+0

これは完全に働いた、ありがとうございます:) –

0

、何が欲しいのは、特定の値に異なる出力を持つことです。

$different_output_array = ['ES400', 'MC9500']; # you can add new elements any time 

、ちょうどこのような何かにあなたの関数を変更します:

public function manufacturer_models_list() { 
    $manu_name = $this->manufacturer_name; 
    $output = "<ul>"; 

    sort($this->$manu_name); 
    foreach($this->$manu_name as $model) { 

     if(in_array($model,$different_output_array)) 
     { 
      $output .= "<li>" . "<a href=\"another.php\">" . $model . "</a></li>"; 
     } 
     else 
     { 
      $output .= "<li>" . "<a href=\"repair.php\">" . $model . "</a></li>"; 
     } 


    } 

    $output .= "</ul>"; 
    $output .= "<p class=\"clear\"></p>"; 
    $output .= "<a href=\"repair.php\" " . "id=\"arrange-repair\">Arrange A Repair</a>"; 
    return $output; 
} 
私が思うだろう

は、さまざまな出力をしたい、あなたはこのような何かを行うことができます値を保持するために別の配列を持っています

これが役に立ちます。