PHPで多次元配列の長さを取得するにはどうすればよいですか?

PHPz
リリース: 2020-09-05 11:51:03
オリジナル
2279 人が閲覧しました

PHP で count() 関数を使用すると、関数の 2 番目のパラメーターを 1 (または COUNT_RECURSIVE) に設定して、多次元配列の長さを取得できます。構文は「count(array,1;」です)。 )"、多次元配列内の要素の数を再帰的にカウントします。

PHPで多次元配列の長さを取得するにはどうすればよいですか?

PHP で配列の長さを取得するのは非常に簡単です。PHP には、1 次元配列の長さを計算する 2 つの関数が用意されています。 count と sizeof として配列の長さをカウントするために、いくつかの例を見てみましょう。

php で配列の長さを取得する方法、php 関数 count() または sizeof() を使用する

例:

$arr = Array('0','1','2','3','4'); 
echo count($arr);
// 输出 5
$arr = array('A','B','C');
echo sizeof($arr);
//输出3
ログイン後にコピー

sizeof() およびcount() は同じ目的で、この関数に渡された配列が空の配列またはまだ取得されていない変数の場合、通常のスカラー変数の要素の数を取得できます。 set, 返される配列要素の数は 0 です;

マニュアルによると、sizeof() は関数 count() のエイリアスです。

では、多次元配列の長さはどうやって数えるのでしょうか?

例を見ていきましょう

たとえば、読み取った配列は 2 次元配列です。

<?php
$arr=array(
                 0=>array(&#39;title&#39; => &#39;新闻1&#39;, &#39;viewnum&#39; => 123, &#39;content&#39; => &#39;ZAQXSWedcrfv&#39;),
                 1=>array(&#39;title&#39; => &#39;新闻2&#39;, &#39;viewnum&#39; => 99, &#39;content&#39; => &#39;QWERTYUIOPZXCVBNM&#39;)
                );
?>
ログイン後にコピー

配列 $arr の長さをカウントするには、つまり、2 次元配列には 2 つのニュース項目しかなく、必要な数も 2 です。ただし、異なるバージョンの PHP で count($arr) を使用すると、統計結果は異なります。

count この関数には 2 番目のパラメータもあります。

0 (または COUNT_NORMAL) がデフォルトであり、多次元配列 (範囲内の配列) は検出されません。 arrays);

1 (または COUNT_RECURSIVE)、多次元配列 Array、

を検出します。したがって、読み取った配列 $arr にニュース情報が含まれているかどうかを判断したい場合は、次のようになります。次のように記述します:

<?php
if(is_array($arr) && count($arr,COUNT_NORMAL)>0 )
{
  .....
} else {
  .....
}
?>
ログイン後にコピー

この関数をテストするには、次のようなコードを使用できます:

<?php
$arr=array(
                 0=>array(&#39;title&#39; => &#39;新闻1&#39;, &#39;viewnum&#39; => 123, &#39;content&#39; => &#39;ZAQXSWedcrfv&#39;),
                 1=>array(&#39;title&#39; => &#39;新闻2&#39;, &#39;viewnum&#39; => 99, &#39;content&#39; => &#39;QWERTYUIOPZXCVBNM&#39;)
               );
 
echo &#39;不统计多维数组:&#39;.count($arr,0);//count($arr,COUNT_NORMAL)
echo "<br/>";
echo &#39;统计多维数组:&#39;.count($arr,1);//count($arr,COUNT_RECURSIVE)
?>
ログイン後にコピー

関連知識の詳細については、PHP 中国語 Web サイト! !

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート