ホームページ >バックエンド開発 >PHPの問題 >PHPで配列がインデックス配列であるかどうかを確認する方法

PHPで配列がインデックス配列であるかどうかを確認する方法

青灯夜游
青灯夜游オリジナル
2022-09-20 20:23:291697ブラウズ

判断手順: 1. array_keys() を使用して、元の配列のすべてのキー名を取得します。構文は「array_keys(array)」です。 2. array_filter() を使用して、配列をフィルタリングします。構文は次のとおりです。 "function f($v){return (is_string($v));}$res=array_filter($keys,"f");" は、文字列要素を含むフィルター配列を返します。 3. フィルター配列が空の配列。空の場合、その配列はインデックス配列です。

PHPで配列がインデックス配列であるかどうかを確認する方法

このチュートリアルの動作環境: Windows7 システム、PHP バージョン 8.1、DELL G3 コンピューター

php では、インデックス配列の添字( キー名) は数字で構成されます。配列内のキー名が数字でない場合、その配列は (インデックス配列ではなく) 連想配列になります。

したがって、配列がインデックス配列であるかどうかを判断するには、配列のキー名がすべて数値であるかどうかを判断するだけで済みます。

#実装手順:

#ステップ 1: array_keys() 関数を使用して、元の配列のすべてのキー名を取得します

array_keys( ) 関数は、配列内のすべてのキーを含む新しい配列を返します。

array_keys(array,value,strict)

パラメータ配列#値#strict
説明
必須。配列を指定します。
オプション。キー値を指定すると、そのキー値に対応するキー名のみが返されます。
オプション。 value パラメータと一緒に使用されます。可能な値: true - 指定されたキー値を持つキー名を返します。種類によっては、数字の 5 が文字列「5」と同じではありません。 false - デフォルト値。タイプに関係なく、数値 5 は文字列「5」と同じです。
<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$arr=array("r"=>"red",2,3,"hello",5,6);
var_dump($arr);
$keys=array_keys($arr);
var_dump($keys);
?>

ステップ 2: array_filter() 関数と is_string() 関数を使用して配列をフィルタリングするキー名の文字列要素を返します。 arrayPHPで配列がインデックス配列であるかどうかを確認する方法

function f($v){
	 return(is_string($v));
}
$res=array_filter($keys,"f");
var_dump($res);

は、文字列要素を含むフィルタリングされた配列を返します。

PHPで配列がインデックス配列であるかどうかを確認する方法

ステップ 3: 判断配列が空の配列であるかどうかをフィルターします

$res==[]

空の場合、配列はインデックス配列です

  • 空ではありません、配列です。インデックス配列ではありません。連想配列です。

  • # 実装コード:

  • <?php
    header(&#39;content-type:text/html;charset=utf-8&#39;);   
    function f($v){
    		 return(is_string($v));
    }
    function fun($arr){
    	$keys=array_keys($arr);
    	
    	$res=array_filter($keys,"f");
    	if($res==[]){
    		echo "数组是索引数组<br>";
    	}else{
    		echo "数组不是索引数组,是关联数组<br>";
    	}
    }
    
    
    $arr=array("r"=>"red",2,3,"hello",5,6);
    var_dump($arr);
    fun($arr);
    $arr=array(1,2,3,"hello",5,6);
    var_dump($arr);
    fun($arr);
    ?>

推奨学習: 「

PHP ビデオ チュートリアル

>>PHPで配列がインデックス配列であるかどうかを確認する方法

以上がPHPで配列がインデックス配列であるかどうかを確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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