[PHP ソース コードの読み取り]array_push 関数と array_unshift 関数、arrayunshift_PHP チュートリアル

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

【PHPソースコードの読み方】array_push関数とarray_unshift関数、arrayunshift

PHPでは、配列に要素を追加することも非常に一般的な操作です。それぞれ、配列の末尾と先頭に要素を追加する方法を見てみましょう。 PHP 内で動作します。配列の挿入操作を実装します。

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

配列プッシュ

リーリー

array_push 関数は、配列パラメータをスタックとして扱い、渡された変数を配列の末尾にプッシュします。配列の長さは、押し込まれる変数の数に応じて増加します。次のコードには意味のある効果があります:

$array[] = $var;

配列に要素を 1 つだけ追加する必要がある場合は、関数を呼び出す必要がないため、$array[] を使用することをお勧めします。

サンプルを実行する

リーリー

ステップを実行する

array_push 関数は比較的単純で、配列をスタックとして扱い、各パラメーターを参照に変換し、参照番号に 1 を加えて配列の末尾に追加します。

内部実装のフローチャートは次のとおりです:

[PHP ソース コードの読み取り]array_push 関数と array_unshift 関数、arrayunshift_PHP チュートリアル$arr = array(1, 2, 3); array_unshift($arr, 4, 5, 6) // 4 5 6 1 2 3

ステップを実行する

リーリー

ソースコードの解釈

上記の手順からわかるように、array_unshift の中核となるステップは php_splice 関数です。 array_unshift関数は、php_spliceが実装時に新しいハッシュテーブルout_hashを作成し、まずout_hashに挿入するリストデータを挿入し、その後に元の配列データをout_hashに書き込むことで、配列の前にデータ要素を挿入する機能を実現しています。

実現されたレンダリングは次のとおりです:

[PHP ソース コードの読み取り]array_push 関数と array_unshift 関数、arrayunshift_PHP チュートリアル
今回ソースコードを読む過程で、PHPのハッシュテーブルのデータ構造といくつかのAPIについても勉強し、ハッシュテーブルの知識も少し補いました。 PHP の最下層では双方向リンク リストを使用してハッシュの競合を処理していることを学び、大きな恩恵を受けました。 PHP のデータ構造については、今後詳しく説明する予定です。

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

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

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

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

www.bkjia.com本当http://www.bkjia.com/PHPjc/1129452.html技術記事 【PHPソースコードの読み方】array_push関数とarray_unshift関数、arrayunshift PHPでは、配列の末尾と先頭に要素を追加するなど、配列に要素を追加することも非常に一般的な操作です...
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート