PHP で count を使用して多次元配列の長さを取得する例

黄舟
リリース: 2023-03-17 14:26:02
オリジナル
2388 人が閲覧しました

前回の記事ではphpの配列の長さを取得する方法を紹介しましたが、配列は1次元配列多次元配列に分かれているため、この記事ではcountの実装方法について説明しますphpで多次元配列の長さを取得します。皆さんの参考に共有してください。具体的な分析は次のとおりです:

まず、次のプログラムの結果を見てみましょう:

$numb=array(             
array(10,15,30),array(10,15,30),array(10,15,30) 
);  
echo count($numb,1);
ログイン後にコピー

A.3
B.12
C.6
D.9
答えはB
In the countこの関数では、モードが COUNT_RECURSIVE (または 1 ) に設定されている場合、多次元配列内の要素の数が再帰的に計算されます (つまり、結果では 12 になります)。モードが設定されていない場合、デフォルトは 0 になります。多次元配列 (配列内の配列) は検出されません (結果 3)。

最初に走査するのは外側の 配列です 2 つの要素 ("color1"、"color2"、"color3") があり、それは 3 であることがわかります
次に、("color1"、"color2") を走査します。 ", "color3") 配列 結果は要素が 9 個 9 になります
結果は 3+9=12 になります

参考例:

コードは以下の通りです:

<?php
$fruits = array (
    array (1, 2,null,null, 5, 6),
    array (1, 2,null,null, 5, 6),
);
echo(count($fruits[0]));
?>
ログイン後にコピー

配列が他の方法で定義されている場合、例:
コードをコピーします。 コードは次のとおりです:

<?php
$fruits[0][0]=1;
$fruits[0][3]=1;
$fruits[0][4]=1;
echo(count($fruits[0]));
?>
ログイン後にコピー

PHP の配列ではインデックスが連続している必要がないため、3 が出力されます。リファレンス マニュアルには次の段落があります。 :
PHP の配列は実際には順序付けされたグラフです。グラフは値をキーにマッピングしたものです タイプ。この型はさまざまな方法で最適化されているため、実際の配列、リスト (ベクトル)、ハッシュ テーブル (グラフの実装)、ディクショナリ、セット、スタック、キューなどとして使用できます。可能性 セックス。別のPHP配列を値として使用できるので、ツリーのシミュレーションも簡単に行えます。
例:
2 次元配列または多次元配列の最初の次元の長さを取得する。これは、たとえば、読み取った配列が
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;)
);
?>
ログイン後にコピー

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

php マニュアルの後半で

count 関数には 2 番目のパラメーターがあることがわかり、これについては次のように説明されています。
count 関数には 2 つのパラメーターがあります: 0 (または COUNT_NORMAL) は、デフォルトでは、多次元配列 (配列内の配列) は検出されません。 1 (または COUNT_RECURSIVE) は多次元配列を検出します。
したがって、読み取り配列 $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)
?>
ログイン後にコピー


概要:

この記事は、2 次元または多次元の最初の次元の長さを取得する問題を解決しました。 PHP の次元配列。PHP 配列の長さを取得するのは非常に簡単です。お役に立てば幸いです。

関連する推奨事項:

PHP配列の長さを取得する方法


PHP配列の寸法(PHP配列の長さ)を決定する方法

php配列、php配列の長さ_PHPチュートリアル

以上がPHP で count を使用して多次元配列の長さを取得する例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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