2016-07-15 18 views
1

私は、誰かが単語を入力して「大きな文字」に変換する、phpでプログラムを作成しています。私はそれにコードを表示し、私がしようとしていますかを説明します:foreachループを使用した連想配列の反復、PHP

$bigletters = $_POST["message"]; 


function a(){ 
     echo "  X  "; 
     echo "  X X  "; 
     echo " XXXXX "; 
     echo " X  X "; 
} 

function b(){ 
     echo " XXXXX "; 
     echo " X X "; 
     echo " XXXXX "; 
     echo " X X "; 
     echo " XXXXX "; 
} 

function c(){ 
     echo "  XXXX "; 
     echo " X  "; 
     echo " X  "; 
     echo " X  "; 
     echo "  XXXX "; 
} 

$store = array("a"=>a, "b"=>b, "c"=>c, "d"=>d, "e"=>e, "f"=>f, "g"=>g, 
     "h"=>h, "i"=>i, "j"=>j, "k"=>k, "l"=>l, "m"=>m, "n"=>n, 
     "o"=>o, "p"=>p, "q"=>q, "r"=>r, "s"=>s, "t"=>t, "u"=>u, 
     "v"=>v, "w"=>w, "x"=>x, "y"=>y, "z"=>z); 

foreach ($store as $key => $bigletters){ 
    store[$key]; 
} 

私はその「大きな」フォームのすべての文字のための関数を作成しました。私は、文字の文字列値がその文字に向かってファンクションキーを保持する連想配列を持っています。次に、別のファイルのフォームから受け取ったメッセージを繰り返し処理し、その単語の各文字を連想配列の値と照合し、それらの値のキーを表示したいとします。私は正常にこのようのpythonでこれを行っている:その可能ならば、私はPHPでこれを行う方法を知っている、あるいは知らない

usr = raw_input("Enter a word or letter: ") 
     up = usr.lower() 
     for key in up: 
       print 
       store[key]() 

。私はプログラムを実行しようとすると、私はまた、これを取得:

」 お知らせ:未定義の定数の使用 - 『』 Cでの仮定:\ xamppの\ htdocsに\ BigLetterConverter.phpライン212上の

お知らせ:使用定義されていない定数の使用b - C:\ xampp \ htdocs \ BigLetterConverter.phpの212行目の「b」とみなされる

注意:未定義定数cを使用すると、C:\ xampp \ htdocs \ BigLetterConverter.phpオンラインで212 "

ごめんなさい、この混乱、または私は十分に説明していない場合は申し訳ありません。

ご回答いただきありがとうございます。

答えて

1

私が正しくあなたを理解していれば、PHPでの解決策:素晴らしい作品

$letters = str_split($_POST["message"]); // spliting string to letters array 

foreach ($letters as $letter) { 
    if (' ' == $letter) { continue; } 
    $letter = strtolower($letter); 
    echo $store[$letter]; // values from $store array 
    call_user_func($store[$letter]); // calling big letter function 
} 
+0

うん!ありがとうございました! – Petras99