ホームページ  >  記事  >  バックエンド開発  >  PHP で 1 次元配列か 2 次元配列かを判断する方法

PHP で 1 次元配列か 2 次元配列かを判断する方法

青灯夜游
青灯夜游オリジナル
2022-04-11 20:32:274257ブラウズ

PHPではcount()関数を使って判定することができますが、この関数は配列の長さを取得することができますが、第二引数を省略すると一次元の要素数しか取得できませんので、の場合は、省略されたパラメータのみを比較する必要があります。パラメータを省略しない場合、取得される長さは同じです。構文は「count($arr)== count($arr,1)」です。

PHP で 1 次元配列か 2 次元配列かを判断する方法

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

php では、次のことができます。 count()関数を使って判定します。

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$array = array("php", 11, &#39;&#39;, 12, "PHP中文网",13,"green",2021,"mysql","14",15); 
	if (count($array) == count($array, 1)) {
	    echo &#39;是一维数组&#39;;
	} else {
	    echo &#39;是二维数组&#39;;
}
?>

PHP で 1 次元配列か 2 次元配列かを判断する方法

スキームの原則:

##count (mixed $var [, int $mode ] ) – 配列内のセルの数またはオブジェクト内の属性の数を計算します。

$mode: はオプションのパラメーターであり、省略できます。

  • $mode パラメータが省略されている場合、または COUNT_NORMAL または 0 に設定されている場合、count() 関数は多次元配列を検出しません。 $mode が COUNT_RECURSIVE または 1 に設定されている場合、count() 関数は配列内の要素数を再帰的にカウントします。これは、多次元配列内の要素数を計算する場合に特に便利です。

  • $mode パラメータを省略した場合、count は多次元配列を検出せず、1 次元の要素数のみを取得します。

    $mode パラメータを省略した場合と $mode パラメータを省略しなかった場合で、取得した長さが同じかどうかを比較するだけで、それが 1 次元配列であるか 2 次元配列であるかを判断できます。 -次元配列。

$mode パラメータの例:

    <?php
    header("Content-type:text/html;charset=utf-8");
    $arr= array
    ("张三",
    25,
        array("高数","PHP教程","英语"),
    );
    //输出语句
    echo "数组长度为:".count($arr,1);
    echo "<br>不递归检测数组,长度为:".count($arr);
    ?>
  • 出力:

    数组长度为:6
    不递归检测数组,长度为:3
  • 上記の出力を読むと、次のようになります。混乱していませんか? 配列には 5 つの要素しかありません (「Zhang San」、25、「High Number」、「PHP チュートリアル」、「English」)。なぜ結果に表示される配列の長さが 5 ではなく、 6?

実は、このとき count() 関数がループして 2 次元配列内のすべての要素をカウントし、「array("高数","PHP チュートリアル","English"」 )」は全体の統計とみなされ、その中の要素 (「上級数学」、「PHP チュートリアル」、「英語」) が再度カウントされるため、最終的な結果は 6 になります。

推奨: 「

PHP ビデオ チュートリアル

PHP で 1 次元配列か 2 次元配列かを判断する方法

以上がPHP で 1 次元配列か 2 次元配列かを判断する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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