ホームページ  >  記事  >  バックエンド開発  >  PHP ソース コード 25 の簡単な説明: 次の、現在の主要な関数について

PHP ソース コード 25 の簡単な説明: 次の、現在の主要な関数について

不言
不言オリジナル
2018-06-28 17:59:021795ブラウズ

この記事では主に 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 属性に基づいてキーが文字列であるか数値であるかを判断し、
# を返します。

## current — 配列内の現在のユニットを返します

mixed current (array &array)
各配列には、その「現在の」ユニットを指す内部ポインタがあり、最初は配列に挿入された最初のユニットを指します。 。
current() 関数は、内部ポインタが現在指している配列ユニットの値を返し、ポインタを移動しません。内部ポインタがセル リストの末尾を超えている場合、current() は FALSE を返します。

この関数は、最終的に zend_hash_get_current_data_ex 関数を呼び出すことによって値を返します。

zend_hash_get_current_data_ex 関数は、配列要素に格納されている値を直接返します:
*pData = p->pData;
配列内の場合false 要素がある場合、戻り値は見つからない場合の戻り値と同じになります。これはわかりにくいところです。

next — 配列内の内部ポインタを 1 ビット前に移動します。

mixed next (array &array)
配列の内部ポインタが指す次のセルの値を返すか、セルがなくなった場合は FALSE を返します。

next() と current() の操作は非常に似ていますが、1 つの違いがあります。それは、値を返す前に内部ポインターが 1 ビット前方に移動されることです。つまり、zend_hash_move_forward(target_hash);
これは、次の配列ユニットの値を返し、配列ポインタを 1 ビット前に移動することを意味します。ポインタを移動した結果、配列要素の末尾を越えてポインタが移動した場合、next() は FALSE を返します。
また、current() と同様に、配列要素に false が存在する場合、next() の戻り値も false になります。

上記がこの記事の全内容です。参考になれば幸いです。皆様の学習に役立ててください。その他の関連コンテンツについては、PHP 中国語 Web サイトに注目してください。

関連する推奨事項:

PHP ソース コード 24 に関する簡単な説明: イテレーターの実装で値が false の場合に反復を完了できない理由の分析

PHP ソース コード 23 についての簡単な説明: urlencode 関数について
#

以上がPHP ソース コード 25 の簡単な説明: 次の、現在の主要な関数についての詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。