21. PHP 環境変数を使用して Web ページのアドレスのコンテンツを取得するにはどうすればよいですか? IPアドレスを取得するにはどうすればよいですか?
答え: $_servsr[‘request_uri’]
$_server[‘remote_addr’]
22. 2007-2-5 ~ 2007-3-6 の日付の違いなど、2 つの日付の違いを見つけます
答え: (strtotime('2007-3-6')-strtotime('2007-2-5'))/3600*24
23. テーブルには 3 つの列 a、b、c があり、SQL ステートメントを使用して実装できます。列 a が列 b より大きい場合は列 a を選択し、それ以外の場合は列 b が列より大きい場合に列 b を選択します。 c の場合は列 b を選択し、それ以外の場合は列 c を選択します。
答え: a>b の場合を選択し、次に a else b を終了します。
case when b>c then b else c end
テストから
24. プロジェクト内の SQL ステートメントの実行効率を最適化する方法を簡単に説明してください。どのような観点から SQL ステートメントのパフォーマンスを分析するのですか?
答え: (1) 最も効率的なテーブル名の順序を選択してください
(2) where句の接続順序
(3) select句では「*」の使用を避ける
(4)having句をwhere句に置き換えます
(5) 内部関数によるSQL効率の向上
(6) インデックス付き列での計算の使用は避けてください。
(7) group by の前に不要なレコードを除外することで、group by ステートメントの効率を向上させます。
25.mysql_fetch_row() と mysql_fetch_array() の違いは何ですか?
mysql_fetch_row() はデータベース列を 0 から始まる配列に格納します。最初の列は配列のインデックス 0、2 番目の列はインデックス 1 などになります。 mysql_fetch_assoc() は、データベースの列を連想配列に格納します。たとえば、データベース クエリは、「first_name」、「last_name」、および「email」の 3 つのフィールドを返します。配列は「first_name」、「last_name」、「email」です。 mysql_fetch_array() は、mysql_fetch_row() と mysql_fetch_assoc() の両方の値を返すことができます。
26.次のコードは何に使用されますか?説明してください。
$date='08/26/2003';print ereg_replace("([0-9]+)/([0-9]+)/([0-9]+)","\2/\1/ \3",$date);
これは、日付を mm/dd/yyyy 形式から dd/mm/yyyy 形式に変換します。私の友人は、この正規表現は次のステートメントに分解できると教えてくれました。このような単純な式については、単に説明の便宜上、分解する必要はありません。
// 1 つ以上の 0 ~ 9 の後にスラッシュが続く $regexpression = "([0-9]+)/";// 1 つ以上の 0 ~ 9 の後に別のスラッシュが続く $regexpression .= "([0-9]+)/";// も、\2/\1/ \3 と同様に 1 つ以上の 0-9$regexpression に対応します。は括弧に対応するために使用されます。最初の括弧は月に対応します。
27.gd ライブラリは何に使用されますか?
回答: この関数ライブラリを使用すると、さまざまな形式でグラフィック ファイルを処理および表示できます。また、グラフィック ファイルを作成することもよくあります。 gd 以外のもう 1 つのオプションは imagemagick ですが、このライブラリは php に組み込まれていないため、システム管理者がサーバーにインストールする必要があります
28. 開発プロセス中にページの読み込みを高速化するために使用する方法の例を教えてください。
回答: 必要なときにのみサーバー リソースを開き、適切なタイミングでサーバー リソースを閉じ、データベースにインデックスを追加すると、ページは静的ファイル、画像、その他の大きなファイルを別のサーバーに生成できます。コード最適化ツールを使用する
29. SQL インジェクションの脆弱性を防ぐには、__addslashes___ 関数が一般的に使用されます。
30.phpで値を渡す、参照を渡す、アドレスを渡すの違いは何ですか?
回答: 値による受け渡しは、実際のパラメーターの値を行パラメーターに割り当てることです。そのため、行パラメーターの変更は実際のパラメーターの値には影響しません
。
アドレスの受け渡しは値を渡す特別な方法ですが、渡されるのは通常の int ではなくアドレスであり、アドレスを渡した後、実際のパラメーターと行パラメーターは同じオブジェクトを指します
。
31. JavaScript を通じてウィンドウがブロックされているかどうかを確認する方法
回答: open() の戻り値を取得し、null の場合はブロックされます
。
33. トラフィックが多い Web サイトの場合、トラフィックの問題を解決するためにどのような方法を使用しますか?
回答: まず、サーバー ハードウェアが現在のトラフィックをサポートするのに十分であるかどうかを確認します
2 番目に、データベース アクセスを最適化します。
第三に、外部ホットリンクは禁止されています。
4 番目に、大きなファイルのダウンロードを制御します。
5 番目に、別のホストを使用してメイントラフィックを迂回します
6、トラフィック分析および統計ソフトウェアを使用する
上記では、PHP 面接の質問と関連する回答をいくつか紹介しています。皆さんのお役に立てれば幸いです。