ホームページ > バックエンド開発 > PHPの問題 > PHP で 2 次元配列のキーが表示されない場合はどうすればよいですか?

PHP で 2 次元配列のキーが表示されない場合はどうすればよいですか?

PHPz
リリース: 2023-04-12 10:08:33
オリジナル
513 人が閲覧しました

PHP 開発では、配列が最も一般的なデータ型であり、配列の値の取得、変更、追加、削除、その他の操作など、配列に対する操作が必要になることがよくあります。配列内のデータを検索して操作するためにキーを使用するため、配列操作では、キーと値は非常に重要な概念です。しかし、プログラムが期待どおりに配列のキーを出力しない場合があります。これはなぜでしょうか?

問題内容:

PHPにおいて、2次元配列のキーを出力する際、キーが正常に表示されない場合があります。以下は簡単な例です:

<?php
$arr = array(
  array(&#39;name&#39;=>'Jack', 'age'=>20),
  array('name'=>'Lucy','age'=>18),
);
 
foreach($arr as $key => $value){
   echo $key."</br>";
}
?>
ログイン後にコピー

期待される出力は次のとおりです:

0
1
ログイン後にコピー
ログイン後にコピー

しかし実際の出力は次のとおりです:

name
age
name
age
ログイン後にコピー

これは、現在のプログラムが結果を生成しないことを示しています。配列のキーを出力することを期待していました。では、この問題の原因は何でしょうか?

問題の原因:

配列キーの機能は、対応する値をマークすることです。実際には、2 次元配列のキーは 0 から始まるシーケンスではなく、文字列。たとえば、キーが 0 と 1 である上記の $arr 配列は、次の配列になります。

array('name'=>'Jack', 'age'=>20)

array('name'=>'Lucy','age'=>18)
ログイン後にコピー

出力の「name」と「age」は、2 次元配列の文字列キーです。

問題解決策:

では、必要なデジタルキーを出力するにはどうすればよいでしょうか?ここでは 2 つの解決策をお勧めします:

解決策 1: for ループを使用してキーを出力する

for ループを使用してキーを出力するのは簡単で直接的な方法であり、ループを通じて対応するキーを出力できます。鍵。例:

<?php
$arr = array(
  array(&#39;name&#39;=>'Jack', 'age'=>20),
  array('name'=>'Lucy','age'=>18),
);
 
for($i=0; $i<count($arr); $i++){
   echo $i."</br>";
}
?>
ログイン後にコピー

このようにして、目的のデジタル キーを完全に出力できます。結果は次のようになります:

0
1
ログイン後にコピー
ログイン後にコピー

解決策 2: array_keys 関数を使用します。

array_keys 関数PHPに組み込まれている配列内のすべてのキー値を返すことができる関数です 配列長関数count()を使えば簡単に数字キーを出力できます。例:

<?php
$arr = array(
  array(&#39;name&#39;=>'Jack', 'age'=>20),
  array('name'=>'Lucy','age'=>18),
);
 
print_r(array_keys($arr))."</br>";
 
for($i=0; $i<count($arr); $i++){
   echo $i."</br>";
}
?>
ログイン後にコピー

このようにして、期待される結果「0, 1」を出力することもできます。

概要:

PHP での配列の使用は非常に一般的な操作です。配列を操作するときは、配列のキーと値の機能と関係を理解する必要があります。期待と異なる結果が得られた場合でも、不安にならずに、問題の解決策を分析することを考えることが、プログラミングスキルと論理的思考を向上させる良い機会でもあります。

以上がPHP で 2 次元配列のキーが表示されない場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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