この記事では主に PHP のソース コード 25 について紹介します。次の、現在の主要な関数について説明します。これを必要な友人に共有します。
A PHP ソース コード 25 についての簡単な説明: 次の現在のキー関数について
key — 連想配列からキー名を取得します
mixed key (array &array)
key() は、配列内の現在のユニットのキー名。
この関数は、zend_hash.c の zend_hash_get_current_key_ex を呼び出すことによってキー値を返します。
zend_hash_get_current_key_ex 関数では、nKeyLength 属性に基づいてキーが文字列であるか数値であるかを判断し、
# を返します。
mixed current (array &array)
各配列には、その「現在の」ユニットを指す内部ポインタがあり、最初は配列に挿入された最初のユニットを指します。 。
current() 関数は、内部ポインタが現在指している配列ユニットの値を返し、ポインタを移動しません。内部ポインタがセル リストの末尾を超えている場合、current() は FALSE を返します。
zend_hash_get_current_data_ex 関数は、配列要素に格納されている値を直接返します:
*pData = p->pData;
配列内の場合false 要素がある場合、戻り値は見つからない場合の戻り値と同じになります。これはわかりにくいところです。
mixed next (array &array)
配列の内部ポインタが指す次のセルの値を返すか、セルがなくなった場合は FALSE を返します。
next() と current() の操作は非常に似ていますが、1 つの違いがあります。それは、値を返す前に内部ポインターが 1 ビット前方に移動されることです。つまり、zend_hash_move_forward(target_hash);
これは、次の配列ユニットの値を返し、配列ポインタを 1 ビット前に移動することを意味します。ポインタを移動した結果、配列要素の末尾を越えてポインタが移動した場合、next() は FALSE を返します。
また、current() と同様に、配列要素に false が存在する場合、next() の戻り値も false になります。
PHP ソース コード 24 に関する簡単な説明: イテレーターの実装で値が false の場合に反復を完了できない理由の分析
PHP ソース コード 23 についての簡単な説明: urlencode 関数について
#
以上がPHP ソース コード 25 の簡単な説明: 次の、現在の主要な関数についての詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。