気軽に読めるPHP入門書・PHPスクリプトが動かないときの原因と対策などを紹介します。

  1. PHPエラーの原因と対策
  2. 50 view

「Warning: array_key_exists()」と表示されるとき

array_key_exists関数は配列に指定インデックスが存在するか調べることができます。使用例は次のようになります。

<?php
$ar = array("t"=>"東京", "c"=>"千葉", "k"=>"神奈川");

if (array_key_exists("t", $ar)) {
    echo "キーは存在します。";
} else {
    echo "キーは存在しません。";
}
?>
実行結果
キーは存在します。

array_key_exists関数の第一パラメータはインデックス、第二パラメータは配列を指定しますが、次のような指定をすると「Warning: array_key_exists()」のようなWarningが表示されます。

<?php
$ar = array("t"=>"東京", "c"=>"千葉", "k"=>"神奈川");

if (array_key_exists(array("t"), $ar)) {
    echo "キーは存在します。";
} else {
    echo "キーは存在しません。";
}
?>

最初のパラメータは文字列または数値にする必要があるとのエラーメッセージが表示されます。

実行結果
Warning: array_key_exists(): The first argument should be either a string or an integer
<?php
$ar = "東京";

if (array_key_exists("t", $ar)) {
    echo "キーは存在します。";
} else {
    echo "キーは存在しません。";
}
?>

第二パラメータは配列に、というエラーメッセージが表示されます。

実行結果
Warning: array_key_exists() expects parameter 2 to be array, string given
<?php
$ar = NULL;

if (array_key_exists("t", $ar)) {
    echo "キーは存在します。";
} else {
    echo "キーは存在しません。";
}
?>

第二パラメータにNULLが指定されている、とのエラーメッセージが表示されます。

実行結果
Warning: array_key_exists() expects parameter 2 to be array, null given

PHPエラーの原因と対策の最近記事

  1. PHPの関数や変数の前にあるアットマークの意味は?

  2. 「http:// wrapper is disabled in the server co…

  3. php.iniの場所

  4. 「Warning: array_key_exists()」と表示されるとき

  5. 「Warning: A non-numeric value encountered」と表示…

関連記事

PAGE TOP