ホームページ > バックエンド開発 > PHPチュートリアル > 33 の一般的な PHP 面接の質問と回答、33 の PHP テストの質問と回答_PHP チュートリアル

33 の一般的な PHP 面接の質問と回答、33 の PHP テストの質問と回答_PHP チュートリアル

WBOY
リリース: 2016-07-13 09:47:10
オリジナル
1011 人が閲覧しました

33 の PHP の一般的な面接の質問と回答、33 の PHP テストの質問と回答

1. PHP では、現在のスクリプトの名前 (パスとクエリ文字列を除く) が事前定義された変数 (1) に記録されます。現在のページにリンクされている URL は、事前定義された変数 (2) に記録されます。

コードをコピーします コードは次のとおりです:
答え: echo $_SERVER['PHP_SELF']; echo $_SERVER["HTTP_REFERER"];

2. 実行プログラムセグメントは(3)を出力します。

コードをコピーします コードは次のとおりです:
答え: 0

3. HTTP 1.0 では、ステータス コード 401 の意味は (4) です。「ファイルが見つかりません」というプロンプトが返された場合、ヘッダー関数を使用できます。そのステートメントは (5) です。

コードをコピーします コードは次のとおりです:
答え: (4) 不正 (5) header("HTTP/1.0 404 Not Found");

4. 配列関数 arsort の関数は (6)、ステートメント error_reporting(2047) の関数は (7) です。

コードをコピーします コードは次のとおりです:
答え: (6) 配列を逆ソートし、インデックス関係を維持します (7) すべてのエラーと警告

5. Web ページ上のすべての JS/VBS スクリプトをフィルタリングする (つまり、タグとその内容を削除する) 正規表現を作成します: (9)。

コードをコピーします コードは次のとおりです:
答え: /<[^>].*?>.*?/si

6. PHP を Apache モジュールとしてインストールするには、まず http.conf ファイル内のステートメント (10) を使用して PHP モジュールを動的にロードします。

次に、ステートメント (11) を使用して、Apache に拡張子 php を持つすべてのファイルを PHP スクリプトとして処理させます。

コードをコピーします コードは次のとおりです: 答え: (10) LoadModule php5_module "D:/xampp/apache/bin/php5apache2.dll"
(11) AddType application/x-httpd-php-source .phps
AddType application/x-httpd-php .php .php5 .php4 .php3 .phtml

7. include ステートメントと require ステートメントは、現在のファイルに別のファイルをインクルードできます。これらの違いは (12) で、同じファイルを複数回インクルードすることを避けるために、ステートメント (13) を使用できます。

コードをコピーします コードは次のとおりです: 答え: (12) 例外が発生した場合、include は警告を生成し、require は致命的なエラーを生成します (13) require_once()/include_once()

8. クラスの属性をシリアル化してセッションに保存できるため、後でクラス全体を復元できます。 使用する関数は (14) です。

コードをコピーします コードは次のとおりです: 答え:serialize() /unserialize()

9. php.ini で (15) が on に設定されていない限り、関数のパラメーターは変数への参照にすることはできません。

コードをコピーします コードは次のとおりです: 答え:allow_call_time_pass_reference

10.SQLにおけるLEFT JOINの意味は(16)です。

tbl_user が生徒の名前と ID を記録する場合、

tbl_score は、学生番号 (ID)、テストの得点 (スコア)、および試験科目を記録します (一部の学生は受験後に退学になり、その記録はありません)、

各生徒の名前と、対応する各科目の合計スコアを出力したい場合は、SQL ステートメント (17) を使用できます。

コードをコピーします コードは次のとおりです: 答え: (16) 自然な左外部結合 (17) 名前、カウント(スコア)をtbl_userのsum_scoreとして選択し、tbl_user.ID=tbl_score.IDグループのtbl_scoreをtbl_user.IDで左に結合します


11.. PHP では、ヒアドキュメントは特別な文字列であり、その終了フラグは (18) でなければなりません。

コードをコピーします コードは次のとおりです: 回答: 終了識別子が配置されている行には、「;」以外の文字を含めることはできません

12. PHP を使用して、前日の時刻を 2006-5-10 22:21:21 の形式で出力します。

コードをコピーします

コードは次のとおりです: 答え: echo date('Y-m-d H:i:s', strtotime('-1 day'));
13.echo()、print()、print_r()の違い

コードをコピーします

コードは次のとおりです: 答え: echo は戻り値のない言語構造です。print 関数は基本的に echo と同じですが、print_r は戻り値を持つ関数であり、配列オブジェクトを出力するために使用されます。 14. 文字列反転を実装するには?

コードをコピーします

コードは次のとおりです: 答え: PHP の組み込み関数を使用せずに、strrev 関数を使用してください。 strrev($str) { $len=strlen($str);
$newstr = '';
for($i=$len;$i>=0;$i--)
{
$newstr .= $str{$i};
}
$newsstr;
を返します }


15. 中国語の文字列を文字化けせずにインターセプトする方法。

コードをコピーします

コードは次のとおりです: 答え: mb_substr() 16. PHP を使用して、「Zhang San」という名前のすべてのコンテンツを検索し、出力する簡単なクエリを作成します

テーブル名 ユーザー

名前 電話番号

Zhang San 13333663366 大学卒業 2006-10-11

Zhang San 13612312331 学士 2006-10-15

Zhang Si 021-55665566 工業中等学校卒業 2006-10-15

コードをコピーします コードは次のとおりです: 答え: ユーザー WHERE から名前、電話番号、内容、日付を選択します Name='张三'

17. 次のクラスの使用方法とその意味を説明します。

クラステスト

{
Get_test($num)
{
$num=md5(md5($num)."En");
$num を返します;
}
}

答え: 使用法:

コードをコピーします コードは次のとおりです: $get_test = 新しいテスト();
$result = $get_test->Get_test(2);

$num 変数は 2 回 md5 されて返されます。2 番目の md5 のパラメーターは、最初の md5($num) の後に En

を付けて追加されます。

18. ファイルの拡張子を取得するには 5 つ以上の方法を使用します

必須: dir/upload.image.jpg、.jpg または jpg を見つけてください、

コードをコピーします コードは次のとおりです: 回答: ファイルの拡張子を取得するには 5 つ以上の方法を使用します
1)
get_ext1($file_name)
{
strrchr($file_name, '.');
を返します }
2)
get_ext2($file_name)
{
substr($file_name, strrpos($file_name, '.'));
を返します。 }
3)
get_ext3($file_name)
{
return array_pop(explode('.', $file_name));
}
4)
get_ext4($file_name)
{
$p = パス情報($file_name);
$p['拡張子'];
を返します }
5)
get_ext5($file_name)
{
戻り値 strrev(substr(strrev($file_name), 0, strpos(strrev($file_name), '.')));
}

19.SESSIONの生存時間を変更する方法

このライブラリを使用すると、さまざまな形式でグラフィック ファイルを処理および表示できます。また、このライブラリのもう 1 つの一般的な用途は、グラフィック ファイルを作成することです。 GD 以外のもう 1 つのオプションは ImageMagick ですが、この関数ライブラリは PHP に組み込まれていないため、システム管理者がサーバーにインストールする必要があります。 回答: 実際、Session にはセッションのライフタイムを設定する関数 session_set_cookie_params() も用意されています。 session_start() 関数が呼び出される前に呼び出す必要があります:

<?php

// 1 日分保存します
$lifeTime = 24 * 3600; session_set_cookie_params($lifeTime); session_start();
$_SESSION["管理者"] = true; ?>

20. 次の機能を実現する関数を作成してください: 文字列「open_door」を「OpenDoor」に、「make_by_id」を「MakeById」に変換します。

コードをコピーします

コードは次のとおりです: 答え: 機能テスト($str){ $arr1=explode('_',$str); //$arr2=array_walk($arr1,ucwords( ));
$str = implode(' ',$arr1);
return ucwords($str);
}
$aa='open_door';
エコーテスト($aa);
?>


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 を選択します。

コードをコピーします

コードは次のとおりです: 答え: 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]+)/";// これも 1 つ以上の 0-9$regExpression に対応します。= "([0-9]+)"; \2/\1/\ の場合と同様に、3 が使用されます。最初の括弧は月に対応します。

27.GDライブラリは何に使用されますか?

コードをコピーします コードは次のとおりです: 回答: このライブラリを使用すると、グラフィック ファイルをさまざまな形式で処理および表示できます。また、このライブラリのもう 1 つの一般的な用途は、グラフィック ファイルを作成することです。 GD 以外のもう 1 つのオプションは ImageMagick ですが、このライブラリは PHP に組み込まれていないため、システム管理者がサーバーにインストールする必要があります

28. 開発プロセス中にページの読み込みを高速化するために使用する方法の例を教えてください

コードをコピーします コードは次のとおりです: 回答: サーバー リソースが必要な場合にのみ開き、サーバー リソースを適切なタイミングで閉じ、データベースにインデックスを追加します。また、ページは静的ファイル、画像、その他の大きなファイルを別のサーバーに生成できます。コード最適化ツールを使用する

29. SQL インジェクションの脆弱性を防ぐには、__addslashes___ 関数が一般的に使用されます。

30.PHP での値の受け渡し、参照の受け渡し、アドレスの受け渡しの違いは何ですか?

コードをコピーします コードは次のとおりです: 回答: 値による受け渡しは、実際のパラメーターの値を行パラメーターに割り当てることです。そのため、行パラメーターの変更は実際のパラメーターの値には影響しません 。 アドレスを渡すことは値を渡す特別な方法ですが、通常の int ではなくアドレスを渡します。アドレスを渡した後、実際のパラメーターと行パラメーターは同じオブジェクトを指します


31. JavaScript を通じてウィンドウがブロックされているかどうかを確認する方法

コードをコピーします コードは次のとおりです: 回答: open() の戻り値を取得し、null の場合はブロックされます

33. トラフィックが多い Web サイトの場合、トラフィックの問題を解決するためにどのような方法を使用しますか?

コードをコピーします

コードは次のとおりです: 回答: まず、サーバー ハードウェアが現在のトラフィックをサポートするのに十分であるかどうかを確認します 2 番目に、データベース アクセスを最適化します。 第三に、外部ホットリンクは禁止されています。
4 番目に、大きなファイルのダウンロードを制御します。
5 番目に、別のホストを使用してメイントラフィックを迂回します
6番目、トラフィック分析および統計ソフトウェアを使用します


以上がこの記事の全内容です。phpを学習している皆さんのお役に立てれば幸いです。

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

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/1027501.html技術記事 33 の PHP の一般的な面接の質問と回答、33 の PHP テストの質問と回答 1. PHP では、現在のスクリプトの名前 (パスとクエリ文字列を除く) が事前定義された変数 (1) に記録されます。
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート