2017-07-29 11 views
0

Codeigniterの2つの値を比較しようとしていますが、値と型が同じであっても結果は常にfalseです。 私はCodeIgniterでこのコードを使用しています。 以下のコード。Codeigniter(PHP)の同じ値に対してTrueの結果を得ることができません

$return_name = $this->db->get('feegroup'); 
$data = $return_name->result(); 
foreach($data as $d) 
{ 
    $name = $d->name; 
    if(($name) === ($this->input->post("name"))) 
    { 
     $this->session->set_flashdata('error_message',"Sorry cannot create $name fee group, you cannot have two similar fee groups. Either edit or delete $name fee group or change name to create a new fee group."); 
     redirect(base_url("feegroup/add")); 
    }#EOF IF 
}#EOF foreach 

私はそれが真毎回を示しているが、同一のデータを比較しながら、それがfalseを返す結果を表示する)(IS_STRINGトリム()、strlenを()を使用しています。

DBからの値がサンプルとユーザーのタイプもしサンプルを付属している場合はfalseを返しますが、DBからの値がサンプルが来ると、ユーザーがサンプルを入力すると、それはそれはケースをチェックされていない trueを返す場合。例えば

1親===親=真

2親===親= Falseの

3親===サム= Falseの

4サム= ==サム=偽

5 heLLO === hello = False

+0

を試し下部ケースの中にテキストを変換し、その比較することstrtolower機能を使うのか? –

+0

@ハムザアブダウィ:はい。 –

答えて

1

あなたは `true`をを返しparent``親===ことをしたいですかこの

if(strcasecmp($name,$this->input->post("name")) === 0) 
+0

それは動作しましたが、なぜ私がそれをやっていた方法で動作していません。 –

+0

===両方が同じかどうかをチェックし、==を使用することはできません。大文字と小文字が区別されます –

3

あなたは正しい

if(strtolower($name) === strtolower($this->input->post("name"))) 
+1

この回答は – kishor10d

+0

@ Jasshh Andrews、このメソッドは動作します! –

+0

ありがとう@HamzaAbdaoui – Bhargav

関連する問題