問題 × 解決策

phpで「in_array()」でのエラー「in_array() [function.in-array]: Wrong datatype for second argument」

  • 2020年08月21日
  • PHP

問題

phpで「in_array()」を使ったら、「in_array() [function.in-array]: Wrong datatype for second argument」というエラーが出てしまった。

解決策

「in_array( '値', '配列', true )」の第二引数(配列)の頭に「(array)」を付ける。→「in_array( '値', (array)'配列', true )」

 

「in_array()」でのエラー

phpで「in_array()」を使ったら、「in_array() [function.in-array]: Wrong datatype for second argument」というエラーに遭遇しました…。
そんな時の対処法をご紹介します。

第二引数(配列)の頭に「(array)」を付ける。

in_array( ‘値’, ‘配列’, true )」の第二引数(配列)の頭に「(array)」を付けることで、エラーを回避することができました。

今回のエラーは【「in_array()」の第二引数のデータ型が違います】というエラーとなります。
第二引数に指定した配列が何らかの理由で配列のデータ型として認識されていなかったのが要因となります。

なので第二引数を強制的に配列として認識させます。

修正前

if( in_array( 'テキスト', $arrays, true ) ){
	// 配列の中に該当する値がある場合
}else{
	// 配列の中に該当する値がない場合
}

修正後

if( in_array( 'テキスト', array( $arrays ), true ) ){
	// 配列の中に該当する値がある場合
}else{
	// 配列の中に該当する値がない場合
}

ポイント!

  • 変数の頭に「(array)」を付けることで、その変数を強制的に配列として認識させることができます。

参考ページ

以下のサイトが、より詳しく解説してくれています。

【PHP error in_array() [function.in-array]: Wrong datatype for second argument – Stack Overflow】
https://stackoverflow.com/questions/3544250/php-error-in-array-function-in-array-wrong-datatype-for-second-argument

コメント

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

2 × one =

「問題 × 解決策」
月別アーカイブ一覧

「問題 × 解決策」
月別アーカイブ一覧