• 締切済み

配列のインデックスを入力した値と比較して出力する方法

以下のようなことをしたいのですが、いい方法が思いつきません $input = " リンゴあめ "; //ユーザーが入力する情報で全角・半角スペース、ひらがな・かたかな混在もあり得る $test = array( 'ミカン ゼリー' => 'orange', 'ブドウ アイス' => 'grape', 'リンゴ アメ' => 'apple', ); $inputの入力値と$testa_arrayのインデックスキーそれぞれを、mb_convert_kana で全角カタカナ変換、ereg_replaceで全角・半角スペース空白削除を行った状態で比較して、 マッチしていれば配列の値を返すようにしたいのですが、php4の環境の関数しか使えません。 上の場合だとappleが出力できればいいのですが、いい方法があれば教えてください。

みんなの回答

  • BellBell
  • ベストアンサー率54% (327/598)
回答No.2

#1の方と同じ意見ですが、 >ereg_replaceで全角・半角スペース空白削除を行った状態で比較して なのに、なぜ$test配列のキーに空白が含まれているのでしょうか? 仕様として、どうやっても比較できないとしか言えません。 毎回foreach($test as $key=$value)とでもして、キーを取り出してループでキー内のスペースを削除してから比較する方法も存在しないわけではありませんが、そもそもキーに空白を置かなければいいだけの事なので、そんな事をする意味はありません。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

これは駄目でしょう・・・・ $testの「リンゴ」と「アメ」の間のスペースがなければまだなんとか なりますが・・・

関連するQ&A