ホームページ > バックエンド開発 > PHPチュートリアル > [PHP ソース コードの読み取り] array_pop 関数と array_shift 関数、jsarraypopshift_PHP チュートリアル

[PHP ソース コードの読み取り] array_pop 関数と array_shift 関数、jsarraypopshift_PHP チュートリアル

WBOY
リリース: 2016-07-12 08:51:30
オリジナル
830 人が閲覧しました

【PHPソースコードの読み方】array_pop関数とarray_shift関数、jsarraypopshift

前回の記事では配列に要素を追加するPHP関数を紹介しましたが、もちろん配列から要素を削除する関数もあります。 array_pop と array_shift は、配列の先頭または末尾から要素を削除するだけです。ソース コードを読んだ後、これら 2 つの関数の実装では、同じ関数 _phpi_pop を呼び出して、配列から配列要素を削除する関数を実装していることがわかりました。したがって、解釈の際には、これら 2 つの機能について一緒に説明します。

github の PHP ソース コードにさらに詳細な注釈を付けています。興味があれば、見てスターを付けてください。 PHP5.4のソースコードのアノテーション。追加された注釈は、コミット レコードを通じて表示できます。

関数の構文

配列ポップ

リーリー

array_pop 関数は、配列の最後の要素をポップして返し、配列の長さを 1 つ減らします。配列が空の場合は NULL を返します。

配列シフト

リーリー

配列の先頭にあるユニットを配列の外に移動して結果として返し、配列の長さを 1 つ減らし、すべての数値キーの値を 0 からカウントし始めるように変更します。一方、テキスト キーの値は変わらないまま。

コード例

次のコードは、array_pop と array_shift の使用方法を示しています

リーリー

実行手順

どちらの関数も _phpi_pop 関数を呼び出します。違いは、_phpi_pop 関数を呼び出すときに渡される 2 番目のパラメーター off_the_end が 1 の場合、それは array_pop であり、それ以外の場合は array_shift です。以下は、_phpi_pop 関数を実行するための詳細な手順です:

リーリー

関数実行のプロセスは次のフローチャートで説明できます:

[PHP ソース コードの読み取り] array_pop 関数と array_shift 関数、jsarraypopshift_PHP チュートリアルアレイポップ

[PHP ソース コードの読み取り] array_pop 関数と array_shift 関数、jsarraypopshift_PHP チュートリアル

この関数を呼び出す際に array_pop と array_shift によって実行される手順は似ています:

1. ポインタを移動する場合、前者は配列の末尾に移動し、後者はポインタを配列の最初のユニットに移動します。

2. 削除操作が完了したら、前者は次の数値インデックスの位置を変更するだけで済みますが、後者は配列の添字をリセットする必要があります。

まとめ

2 つの関数の実装手順が類似している場合、パラメーターを使用してどちらの関数が実行されるかを区別し、プログラム内で繰り返されるコードを減らすことができます。

限られた文体と限られた知識によるオリジナル記事 記事内に何か間違っている点がございましたら、お知らせください。

この記事がお役に立ちましたら、クリックしておすすめしてください、ありがとうございます^_^

最後に、おまけとして、github の PHP ソース コードにさらに詳細な注釈を付けました。興味があれば、見てスターを付けてください。 PHP5.4のソースコードのアノテーション。追加された注釈は、コミット レコードを通じて表示できます。

その他のソース コード記事については、個人のホームページにアクセスして閲覧を続けてください: hoohack

http://www.bkjia.com/PHPjc/1130144.html

tru​​ehttp://www.bkjia.com/PHPjc/1130144.html技術記事 【PHPソースコードの読み方】array_pop関数とarray_shift関数、jsarraypopshift 前回の記事では配列に要素を追加するPHP関数を紹介しましたが、もちろん配列から要素を削除する関数もあります。 array_pop と arra...
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート