0

したがって、スイッチはこれを行うための最も適切な方法ではないかもしれないと思います。他にどのように行うことができますか? 基本的に、文字列を 1 文字に分割し、各文字の値を新しい変数に渡したいと考えています。私がこれまでに持っているもの(ほとんどの文字が取り出されているので、要点を理解できますが、画面を埋めません):

$word = $_POST["word"];
$word_value = 0;
$word_array = str_split($word);

switch ($word_array){
    case "a":
    case "t":
        $word_value++;
        break;
    case "g":
    case "d":
        $word_value +2;
        break;
 }

前もって感謝します!

4

3 に答える 3

1

次のようなものを試してください:

class Word{
  private $pn = 'word'; private $wv = 0;
  public function __construct($postName){
    $this->pn = $postName;
  }
  public function change_postName($postName){
    $this->pn = $postName;
  }
  public function value(){
    $wA = str_split($_POST[$this->pn]);
    foreach($wA as $w){
      switch($w){
        case 'a':
        case 't':
          $this->wv++;
          return $this->wv;
        case 'g':
        case 'd':
        $this->wv+=2;
          return $this->wv;
      }
    }
  }
}
$wrd = new Word('word'); $word_value1 = $wrd->value();

次のように、情報を取得する場所を変更できます。

$wrd->change_postName('other'); $word_value2 = $wrd->value();

次のように、単語の値をゼロにリセットします。

$nwrd = new Word('word');
于 2013-07-28T23:31:22.297 に答える