2017-05-26 6 views
0

in_array値が存在する場合は関数が1を返し、それ以外の場合は空の文字列を返します。私はそれがtrueまたはfalseを返すことを期待しています。 誰か助けてもらえますか?in_arrayがLaravelで正しく機能していない5

+1

'in_array'関数の使い方についてもっと教えてください。 –

+0

結果をエコーすると、常に1または空の文字列になります。 echo/logging 'get type($ result)'を呼び出すと、それがブール値であることが示されます。 – aynber

+1

@aynber私はLaravel Loggerを使ってこれをログに記録しています "Log :: info(in_array( '2017-01-01'、$ dates) –

答えて

2

PHPでは、整数値1はtrueに変換され、PHP hereのブール値に関する文書をチェックしてください。

あなたがそれを行う場合は、その後、彼らはあなたはそれがtrueまたはfalseを言いたい場合は、この

$arrBoolean = in_array("needle", $arr) ? 'True' : 'False'; 
echo($arrBoolean); 

を行うことができますので、

$arrBoolean = in_array("needle", $arr); 
if ($arrBoolean) { 
    // Code 
} 

のようなブール値としてそれを使用することができますブール値の文字列表現で、ブール値として実際には機能しません。文字列だけになります。

+0

私はこれを行いました{ *いくつかのコード* /} while(in_array( '2017-01-01'、$ dates))。しかし、うまくいかなかったのは分かりません。 –

+0

whileループの最後にセミコロンを追加します。 in_array( '2017-01-01'、$ dates)); 'これと似たようなことをするwhile(in_array( '2017-01-01'、$ dates))' do {/ * some code * /} { #code ... } ' – jkys

+0

あなたは私に、in_array()がwhileとdo whileループで異なって動作することを教えていますか?Strange !!! –

関連する問題