ホームページ >バックエンド開発 >PHPの問題 >指定されたキー名/値があるかどうかを確認する方法を学習する PHP 配列

指定されたキー名/値があるかどうかを確認する方法を学習する PHP 配列

青灯夜游
青灯夜游オリジナル
2021-08-02 17:12:552510ブラウズ

前回の記事「PHP配列学習:配列要素を横断するには?」 「4 つのメソッドの簡単な分析 」では、配列を走査する 4 つのメソッドを紹介しました。今回は配列要素のキー名とキー値に注目し、指定したキー名/値がPHP配列に存在するかどうかを確認する方法を紹介します。

まず、「キー名が配列内にあるかどうかを検出する方法」を見てみましょう。 実際には、これは非常に簡単で、組み込み関数 array_key_exists() を使用して検出できます。

array_key_exists() 関数は、指定されたキー名 (またはインデックス) が配列内に存在するかどうかを確認できます。この関数は、キー名と配列をそれぞれ指定するために使用される 2 つのパラメーター $key と $array を受け取ります。キー名 $key が配列 $array に存在する場合は true を返し、存在しない場合は false を返します。

コード例を見て詳しく見てみましょう。

<?php
header("Content-type:text/html;charset=utf-8");
$array= array("姓名"=>"张三","年龄"=>25,"性别"=>"男");
var_dump($array);
$key = &#39;年龄&#39;;
if( array_key_exists($key, $array) ){  //检测数组中是否存在该键
    echo "键名 &#39;$key&#39; 存在于数组中!";
}
?>

出力結果:

指定されたキー名/値があるかどうかを確認する方法を学習する PHP 配列

isset() 関数と array_key_exists() 関数の主な違い:

array_key_exists() 関数はキーが配列内に存在するかどうかを明示的に示しますが、 isset() はキー/変数が存在し、null でない場合にのみ true を返します。また、isset() は配列/変数が存在しない場合でもエラーを表示しませんが、array_key_exists() はエラーを表示します。

次に見てみましょうキー値が配列内にあるかどうかを検出する方法これも簡単です。組み込み関数 in_array() を使用して検出できます。指定された配列で指定された値が見つかった場合は TRUE を返し、そうでない場合は FALSE を返します。

in_array($value,$array,$type)指定した配列に指定した値が存在するかどうかを確認できます $array$value; $type パラメータは省略できます。

コード例を見て詳しく見てみましょう。

<?php
header("Content-type:text/html;charset=utf-8");
$array= array("姓名"=>"张三","年龄"=>25,"性别"=>"男");
var_dump($array);
$value = &#39;张三&#39;;
if( in_array($value, $array) ){  //检测数组中是否存在该键名
    echo "键名 &#39;$value&#39; 存在于数组中!";
}
?>

出力結果:

指定されたキー名/値があるかどうかを確認する方法を学習する PHP 配列

in_array() 関数の 3 番目のパラメータ $type は省略されていますが、設定されている場合は、 value が true の場合、検索されたデータの型と配列の値が同じであるかどうかがチェックされます。この時点で、関数は要素が配列内に存在し、指定された値と同じデータ型を持つ場合にのみ true を返します。

<?php
header("Content-type:text/html;charset=utf-8");
$array= array("姓名"=>"张三","年龄"=>25,"性别"=>"男");
var_dump($array);
$value = "25";
if( in_array($value, $array,true) ){  //检测数组中是否存在该键名
    echo "键名 &#39;$value&#39; 存在于数组中!";
}else{
	echo "键名 &#39;$value&#39; 不存在于数组中!";
}
echo "<br>";

$value = 25;
if( in_array($value, $array,true) ){  //检测数组中是否存在该键名
    echo "键名 $value 存在于数组中!";
}else{
	echo "键名 &#39;$value&#39; 不存在于数组中!";
}
?>

出力結果:

指定されたキー名/値があるかどうかを確認する方法を学習する PHP 配列

$value パラメータが文字列で、$type## の場合# パラメータ 大文字と小文字を区別して検索するには true に設定します。

わかりました。これですべてです。他に知りたいことがある場合は、これをクリックしてください。 → →

php ビデオチュートリアル

推奨: PHP 面接の質問の要約 (コレクション)>>

以上が指定されたキー名/値があるかどうかを確認する方法を学習する PHP 配列の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。