PHP 開発では、配列が最も一般的なデータ型であり、配列の値の取得、変更、追加、削除、その他の操作など、配列に対する操作が必要になることがよくあります。配列内のデータを検索して操作するためにキーを使用するため、配列操作では、キーと値は非常に重要な概念です。しかし、プログラムが期待どおりに配列のキーを出力しない場合があります。これはなぜでしょうか?
問題内容:
PHPにおいて、2次元配列のキーを出力する際、キーが正常に表示されない場合があります。以下は簡単な例です:
<?php $arr = array( array('name'=>'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('name'=>'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('name'=>'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 サイトの他の関連記事を参照してください。