0が渡された場合にphpのin_arrayがtrueを返すのはなぜですか?
in_arrayがTrueを返す理由は、文字列から数値への変換である可能性があります。文字列が関数に渡されると、検索する必要のある値である0が返されます。
PHPはルーズジャグリングを使用します。つまり、要素を比較するときに===の代わりに==を使用します。したがって、タイプではなく、それらの値が比較されます。
もう1つの理由は、型ジャグリングです。これは、変数型がコードのコンテキストで処理されることを意味します。
たとえば、float値が変数に割り当てられると、それは浮動小数点値になります。文字列が整数にキャストされたときのように動作します
この種の動作を回避するために、3番目のパラメーターを渡すことができます。これは、厳密モードでデータを比較し、値とタイプが比較されます。
以下は、文字列が渡されたときの関数の動作です-
例
echo intval("Hello");
出力
これにより、次の出力が生成されます-
0
-
PHPのstrtok()関数
strtok()関数はtokenize文字列です。文字列トークンを返します。 構文 strtok(str, split) パラメータ str −分割する文字列 分割 −1つ以上の分割文字を指定します 戻る strtok()関数は文字列トークンを返します。 例 以下は例です- <?php $str = "This is it!"; $token = strtok($str, " "); while ($token !== false){  
-
PHPのstrstr()関数
strstr()関数は、文字列の最初の出現を見つけるために使用されます。 注 −関数では大文字と小文字が区別されます。 構文 strstr(str,search,before) パラメータ str −検索する文字列 検索 −検索する文字列 前 −デフォルトが「false」のブール値。 「true」に設定すると、検索パラメータが最初に出現する前の文字列の一部が返されます。 戻る strstr()関数は、文字列の残りの部分を返します。文字列が見つからない場合はfalseを返します。 例 以下は例です- 出力 ad Pitt! 例 以下は例です-