2016-09-01 5 views
0

場合は、この機能を見てみてください。これで間違っている

function my_func($index_bis) { 
    if (!is_int($index_bis) || $index_bis > 5 || $index_bis < 0) return; 
    elseif ($index_bis = 5) : echo 'This'; 
    elseif ($index_bis = 1) : echo 'That'; 
    endif; 
} 

何?実際にどこが間違っているのか分かりません...

ありがとうございました。

答えて

0

これはなんですか? PHP? あなたは何をしようとしていますか?これはどのように

:それは「復帰」後に何を入れてかなり非定型だ

function my_func($index_bis) { 
    if (!is_int($index_bis) || $index_bis > 5 || $index_bis < 0){ 
     $str = $index_bis; 
    } 
    elseif ($index_bis == 5) { 
     $str='This'; 
    } 
    elseif ($index_bis == 1) { 
     $str='That'; 
    } 
return $str; 
} 

。私は "リターン"が効果的に機能を停止すると思います。

編集:FOREACHメソッド。

関連する2つの変数からhtmlを構築する場合、FOREACHは配列の各項目にデータ「キー」と「値」を設定できるので、それらを処理する優れた方法です。

デフォルトでは、PHPの「キー」には0から始まって整数の増加に伴い番号が割り当てられます。 PHPに割り当てられたデフォルトを使用する代わりに、これらのキーに名前を付けるオプションがあります。

だから、のようなあなたのアレイの設定を検討:

$newArray = (
    'tab name' => 'label name', 
    'apples' => 'red', 
    'oranges' => 'orange', 
    ); 

「=>」の左側の項目は必ず鍵であり、そして右へのアイテムは常に値であることを特徴とします。

その後、あなたはこのラインを使用して、あなたのコード内でこの配列に要素を追加することができます。

$newArray['bananas'] = 'yellow'; 

注角括弧(それがキーの名前であるため)、シングルとキー(タブ)の名前を、引用符(文字列なので)。

これで、配列を持っているので、FOREACHループを使用してhtmlをエコーすることができます。 HTML以下

foreach($newArray as $key => $value) { 
    echo "<tab>$key</tab> : "; 
    echo "<label>$value</label> 
    echo "<br /"; 
} 

この意志出力:

<tab>tab name</tab> : <label>label name</label><br /> 
<tab>apples</tab> : <label>red</label><br /> 
<tab>oranges</tab> : <label>orange</label><br /> 
<tab>bananas</tab> : <label>yellow</label><br /> 

非常に便利です。ここのコードです。楽しむ!

注:これを行うより良い方法がありますが、私はこれを簡単な解決策として共有しています。 FOREACHと単純な配列の両方を理解することなく、さらに進んではいけないからです。

注:2つ以上の変数を組み込む場合は、より複雑なデータ構造が必要です。 PHPでは、これらを「多次元配列」と呼びます。読んでみましょう。それを超えて、データ(すなわち「オブジェクト」)を扱う方法はまだまだ増えています。

+0

はい、PHPです。申し訳ありませんが、私のポストにPHPタグを忘れてしまいました。 このコードは一例に過ぎません。実際の機能で期待しているのは、タブシステムの適切な量の列を追加することです。 $ index_bis == 5の場合、5つのタブを表示します。 $ index_bis == 1の場合は、1つのタブのみを表示します。 そして、それぞれの価値について、私はHTMLを関連付けるでしょう。 コードはおそらく冗長ですが、<追加コードのみを含むコードの一部を追加する方法があると確信しています(例:1と2と2と3,3と4と4と5)。 とにかく、あなたの答えに感謝します。 –

+0

ああ、帰りは機能を停止するためにそこにあった、それは私がそれを追加する理由です。 $ index_bisが整数でないか、または> 5または<0の場合、何も返しません。 –

+0

コード例は完璧ですが、実際はそうです。 Alexandre、コード設計の観点から、タブ名の配列を作成し、FOREACH文を使用して配列をウォークしてタブを出力する方が良いでしょうか? IF文は、あなたがここで示唆しているものに対してはあまりにも複雑すぎるようです。これにより、関数の重複した使用を避けることができます。より明確にコメントするためにタブを作成するために使用しているデータのソースを理解する必要があります。 – Parapluie

関連する問題