あなたが経験豊富な PHP 開発者であれば、すでに現場にいて、それをすでに完了していると感じているかもしれません。
あなたは かなりの数のアプリケーションを開発し、何百万ものアプリケーションをデバッグしてきました コード行数を減らし、最適化を達成するために大量のスクリプトを微調整しました。
しかし、時々、「どうしてこれを知らなかったの?」と疑問に思うような関数に遭遇することがあります。ここでは、学んでいればよかったと思う、あまり知られていない 7 つの PHP 関数を紹介します。
array_column() を発見する前は、 以前は多次元配列を手動でループして抽出していました 特定の列。それは退屈なプロセスです。どちらかが台無しになるのは間違いない
これ 関数は多次元から単一列の値を取り出します。 アレイが面倒な作業をすべてやってくれます。それは真のゲームチェンジャーです データベースの結果セットを扱うとき、コードがよりクリーンになり、 より効率的です。
セキュリティは、Web 開発において、特にユーザー資格情報を扱う場合には非常に大きな懸念事項です。
I 以前はパスワードのハッシュ化に md5() または sha1() に依存していました。 自分たちがどのようにして最も多くの敵に対してこれほど脆弱になり得るかについてさえ気づいています。 一般的な種類の攻撃 — ブルートフォース。
その後 来ました、password_hash();ソルティングを自動的に処理するだけでなく、 最新のパスワードをハッシュ化するための安全で推奨される方法も提供します。 アルゴリズム。
連想配列の管理は面倒な場合がありますが、私にとって最も苦痛なことの 1 つは、それらの 2 つを比較することです。
I 主にデバッグ出力に使用される関数があり、2 つのループを実行します。 配列とそれらの差分を取得します。 array_diff_key() を使用すると、これがはるかに簡単になります。
array_diff() とよく似た動作をしますが、比較ではなくキーを比較します。 値を表示し、特定するのが難しい重要な違いをすぐに表示します。 特に 2 つの大きな配列を並べて眺めているだけです。 違いは何層にもわたって深いものです。これは、
構成ファイルやその他の複雑なデータ構造を扱う場合、深くネストされた配列によりマージが困難になる場合があります。
array_merge_recursive() を使用する場所がありますが、場合によっては望ましくない方法で値をマージしてしまうことがあります。この点では、値を上書きする array_replace_recursive() の方が優れています。
したがって、エントリに冗長性を作成せずに、入れ子になった配列内の既存の値を置き換える必要がある場合に最適です。
これには本当に驚きました。以前は cURL を使用して HTTP リクエストを作成していましたが、stream_context_create() はよりシンプルでネイティブな方法です。
追加の拡張機能を必要とせずに、ストリーミング操作でファイル ストリーム、HTTP リクエスト、その他多くのものに対して独自のコンテキスト オプションを作成できます。
これは軽量であり、API 呼び出しや複雑なファイル処理など、さまざまなデータ ストリームを処理する操作に対して非常に柔軟です。
パターン マッチングは、すべての開発者にとって繰り返しの作業であり、ほとんどの場合、正規表現を使用するのはやりすぎのように感じられます。
fnmatch() 関数は、ワイルドカード一致を使用してファイル名または文字列を一致させる、より便利な方法を提供します。
この関数は、ファイルをフィルタリングしたり、複雑な正規表現を使わずに簡単な文字列比較を行うのに最適です。
7. spl_autoload_register()
以上が今まで知らなかったことを後悔している 7 つの PHP 関数の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。