ホームページ  >  記事  >  バックエンド開発  >  PHP プログラマーの筆記試験と面接の質問の共有_PHP チュートリアル

PHP プログラマーの筆記試験と面接の質問の共有_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:50:20911ブラウズ

この記事は、PHP プログラマーの筆記試験と面接の質問をいくつかまとめたものです。PHP プログラマーに面接するつもりなら、まずこれらの質問を見てみてはいかがでしょうか。

PHP プログラマーの筆記試験の一般的な質問
タグ: プログラマー PHP インタビュー 2009-02-06 15:19
1. PHP を使用して、前日の時刻を印刷します。印刷形式は 2007 年 5 月 10 日 22:21:21 です。 2. PHP コードは次のとおりです:
$a="こんにちは"; $b=&$a;
設定を解除($b);
$b="世界"; エコー $a;
結果は?
3. PHP コードは次のとおりです:
$str="cd"; $$str="ランドドッグ"; $$str.="ok";
エコー $cd;
結果は?
4. PHP を使用して、3 番目の変数を使用せずに $a と $b の値を交換するコードを記述し、$a と $b の初期値を自分で設定します。
5. トピックの要件に従って、PHP でコードを作成します。
テーブル名 ユーザー
ID 名前 電話内容 日付
1 張三 13333663366 大学卒業 2006-10-11
3 張三 13612312331 学士 2006-10-15
5 Zhang Si 020-5566556 工業高校卒業 2006-10-15
4 王呉 13521212125 大卒 2006-12-25
2…………
6…………
データベース接続が次のようになっていると仮定します:
$mysql_db=mysql_connect("ローカル","ルート","パス");
@mysql_select_db("DB",$mysql_db);
(1) 名前が「Zhang San」に等しいすべてのレコードをクエリし、出力します。
(2) ID の昇順でクエリを実行し、ソート後の最初の 3 レコードのみを返し、出力します。
6. JavaScript で 2 次元配列を定義できますか? 定義できない場合は、どうすれば解決できますか?
7. a.html と b.html が同じフォルダー内にあるとします。a.html を 5 秒間開くと、JavaScript を使用して自動的に b.html にジャンプします。
8. a.html と a.php の 2 つのファイルがあり、コードは次のとおりです:
a.html


<頭>

PHP プログラマー インタビュー




<テーブルボーダー="1">
名前:

電話番号:

メール:

アドレス:



                                                                      







a.php

$user_name = $_GET['user_name'];
$user_tel = $_GET['user_tel'];
$user_email = $_GET['user_email'];
$user_add = $_GET['user_add'];
echo "ユーザー名: $user_name
電話: $user_tel
電子メール: $user_email
アドレス: $user_add
";
?>


(1) a.htmlの表示効果をブラウザ上で描画してください。
(2) a.html に次のように入力します: ユーザー名 = Zhang San、電話番号 = 020-38259977、電子メール = sunrising@srtek.cn、アドレス = Guangzhou Shengrui、送信ボタンを押した後の出力は何ですか?
9. バージョン管理ツールを使用したことがありますか? 使用している場合は、簡単に説明してください。
10. CSS スタイル シートを使用して、訪問したハイパーリンクのフォント サイズを 14 ポイント、色を赤として定義します。
11. 数字または記号を移動して、方程式 102 = 101-1 が成り立つようにします。注: これは交換ではなく移動であり、等号を分離することはできません。
12. 通常の質問、3、1、4、1、5、9、2、( ) の場合、次の式を規則的なパターンに従って括弧内に記述してください。
13. 通常の質問、5、8、-3、5、-2、3、-1、( ) の場合、次の式を規則的なパターンに従って括弧内に記述してください。

++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++
答え:

1. エコー日付('Y-m-d H:i:s', strtotime('-1 day'));

2. こんにちは

3.ランドゴク

4. $a = "abcd";
$b = "1234";
echo "初期化時 a=$a,b=$b
";
$a = $b;
$b = strlen( $b );
$b = substr( $a, 0, (strlen($a) - $b ) );
$a = substr( $a, strlen($b) );
echo "交換後 a=$a,b=$b
";

5. (1) $sql = “select * from User where > $result = mysql_query( $sql ); while( $row = mysql_fetch_array( $result, MYSQL_ASSOC ) ){
echo $row['名前'];
}
(2) $sql = “select * from ID によるユーザー順序 asc 制限 0,3”;
$result = mysql_query( $sql );
while( $row = mysql_fetch_array( $result, MYSQL_ASSOC ) ){
echo $row['名前'];
}
6. JavaScript は 2 次元配列の定義をサポートしていません。arr[0] = new array() を使用すると問題を解決できます

7. JavaScript コードは次のとおりです。 <スクリプト>

関数 go2b(){
window.location = "b.html";
window.close();
}
setTimeout( "go2b()",5000 ); //5秒後に自動的にgo2b()を実行します


8.

(1) は次のようになります:

省略。私は画像を挿入するのが面倒なので、結果を確認したい場合は、コードを HTML ファイルとして保存し、ブラウザで開いて表示できます。

(2) 出力結果は次のようになります:

名前:

電話番号:

メール:

住所:

フォームはpostメソッドを使用して送信されますが、a.phpではgetメソッドを使用して読み取られるため、値は読み込まれません。

9.少し

10. a:訪問済み { フォントサイズ: 14pt }

11. 102 = 101-1

12. ∏=3.1415926なので、答えは6です

13. 答えは 2 で、ルールは n=(n-2) – |(n-1)| です

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

//このページのアドレス SCRIPT_NAME は、php/test.php

にすることもできます。 echo $_SERVER['PHP_SELF']."
";
// 現在のページにリンクされている前のページの URL アドレス:
echo $_SERVER['HTTP_REFERER']."
";
//その他の情報については、リファレンスマニュアルを参照してください: 言語リファレンス》変数》定義済み変数
//以前に実行したスクリプトの絶対パス名: D:Inetpubwwwrootphp est.php
echo $_SERVER["SCRIPT_FILENAME"]."
";
// 現在のページを閲覧しているユーザーの IP アドレス: 127.0.0.1
echo $_SERVER["REMOTE_ADDR"]."
";
//クエリ文字列 (URL の最初の疑問符 ? 以降の内容): id=1&bi=2
echo $_SERVER["QUERY_STRING"]."
";
//現在実行中のスクリプトが配置されているドキュメント ルート ディレクトリ: d:inetpubwwwroot
echo $_SERVER["DOCUMENT_ROOT"]."
";
?>

2. プログラムセグメント を実行すると __ が出力されます。
//リファレンスマニュアル》言語リファレンス》演算子》算術演算子》% は剰余演算、出力は 0
エコー 8%(-2)."
";
//$a が負の場合のモジュロ $a % $b の結果も負になります。出力 -2
echo ((-8)%3)."
";
//出力 2
エコー (8%(-3))."
";
?>
3. HTTP 1.0 では、ステータス コード 401 の意味は ____ で、「ファイルが見つかりません」というプロンプトが返された場合、ヘッダー関数を使用でき、そのステートメントは ____ です。
回答: 401 は、不正なヘッダー ("HTTP/1.0 404 Not Found") を意味します。 [リファレンスマニュアル》関数リファレンス》HTTP 関数》ヘッダーを参照してください。 4. 配列関数 arsort の関数は ____ 、ステートメント error_reporting(2047) の関数は ____ です。
答え: arsort: 配列を逆ソートし、インデックス関係を維持します。 error_reporting(2047) の機能は次のとおりです: すべてのエラーと警告を報告します
。 5. Web ページ上のすべての JS/VBS スクリプトをフィルタリングするための正規表現を記述します (つまり、script タグとそのコンテンツを削除します)。 $script="次のコンテンツは表示されません:";
echo preg_replace("/].*?>.*?/si", "置換内容", $script);
?>
6. PHP を Apache モジュールとしてインストールします。 http.conf ファイルで、最初にステートメント ____ を使用して PHP モジュール
を動的にロードします。 次に、ステートメント ____ を使用して、拡張子 php を持つすべてのファイルを Apache に PHP スクリプトとして処理させます。
答え: LoadModule php5_module "c:/php/php5apache2.dll";AddType application/x-httpd-php .php
リファレンスマニュアル》目次》II. インストールと設定》6. Windows システムでのインストール》Microsoft Windows での Apache 2.0.x を参照してください。 7. include ステートメントと require ステートメントは両方とも、現在のファイルに別のファイルをインクルードできます。これらの違いは ____ です。同じファイルを複数回インクルードすることを避けるために、代わりにステートメント ____ を使用できます。
回答: 失敗を処理する場合、include() は警告を生成し、require() は致命的なエラーを引き起こします。 8. php.ini で ____ が on に設定されていない限り、関数のパラメータを変数への参照にすることはできません
回答:allow_call_time_pass_reference boolean:関数呼び出し時にパラメータを強制的に参照渡しできるようにするかどうか。リファレンス マニュアルの付録 G を参照してください
9. SQL における LEFT JOIN の意味は、tbl_user が学生の名前 (名前) と学生番号 (ID) を記録する場合、 __ です。 tbl_score は、学生の学生番号 (ID)、テストの得点 (スコア)、および試験科目 (主題) を記録します (名前を印刷したい場合は、試験後に退学になった学生もいます)。各学生と対応する科目の合計スコアについては、SQL ステートメント ____ を使用できます。
答え: 自然な左外部結合
データベースの作成 phpinterview;
phpinterviewを使用してください
テーブル tbl_user を作成します
(
ID 名前 varchar(50) が null ではありません、
主キー (ID)
);
テーブル tbl_score を作成します
(
ID int 経由 スコア dec(6,2) は null ではありません、
subject varchar(20) が null ではありません
);
tbl_user (ID, name) の値に挿入 (1, 'beimu');
tbl_user (ID, name) の値に挿入 (2, 'aihui');
tbl_score (ID、スコア、件名) の値に挿入 (1, 90, '中文');
tbl_score (ID、スコア、件名) の値に挿入 (1, 80, 'math');
tbl_score (ID、スコア、件名) の値 (2, 86, 'math');
に挿入 tbl_score (ID、スコア、件名) の値 (2, 96, '中文');
に挿入 A.id,sum(B.score) を sumscore として選択します
tbl_user A から tbl_score B に参加したままになりました
A.ID=B.ID で
A.idによるグループ
10. PHP では、ヒアドキュメントは特別な文字列であり、その終了マークは ____
でなければなりません 回答: 終了識別子が配置されている行には、「;」以外の文字を含めることはできません
11. フォルダー内のすべてのファイルとサブフォルダーを走査できる関数を作成します。
関数 my_scandir($dir)
{
$files=array();
If(is_dir($dir))
{
if($handle=opendir($dir))
{
while(($file=readdir($handle))!==false)
{
If($file!="." && $file!="..")
{
If(is_dir($dir."/".$file))
{
$files[$file]=my_scandir($dir."/".$file);
}
その他
{
$files[]=$dir."/".$file;
}
}
}
Closedir($handle);
$files を返す;
                                                                                                                                               }
print_r(my_scandir("D:Program FilesInternet ExplorerMUI"));
?>

1.次の文のうち、John を users 配列に追加しないものはどれですか?

$users[] = 'ジョン';
John が users 配列に正常に追加されました。
array_add($users,’john’);
関数 array_add() が定義されていません。
array_push($users,‘ジョン’);
John が users 配列に正常に追加されました。
$users ||= 'ジョン';
文法上の誤り。
2.sort()、assort()、ksort()の違いは何ですか?どのような状況で使用されますか?
ソート()
配列内の要素の値に従ってアルファベット順に並べ替えると、インデックス キーは 0 から n-1 まで番号が付け直されます。主に、配列のインデックス キーの値が無関係な場合に配列をソートするために使用されます。
詰め合わせ()
PHP には assort() 関数がないため、asort() のタイプミスである可能性があります。
並べ替え()
sort() と同様に、配列の要素は英語のアルファベット順に配置されます。違いは、すべてのインデックス キーが保持されることです。これは、連想配列のソートに特に適しています。
ksort()
配列内のインデックス キーの値に従って英語のアルファベット順に並べ替えます。インデックス キーを並べ替える必要がある連想配列に特に適しています。
3. 次のコードは何を生成しますか?なぜ?
$num =10;
関数乗算(){
$num =$num *10;
}
乗算();
エコー $num;
関数 multiply() は $num をグローバル変数 (global $num や $_GLOBALS['num'] など) として指定していないため、$num の値は 10 です。
4. 参照変数と通常の変数の違いは何ですか?参照渡しするにはどうすればよいですか?どのような状況でこれを行う必要がありますか?
参照では、変数の値ではなくアドレスが渡されるため、関数内で変数の値が変更されると、アプリケーション全体で変数の新しい値が認識されます。
通常の変数が関数に渡すのはその値です。関数が変数の値を変更しても、アプリケーションの他の部分には古い値が表示されます。

$myVariable = "その値";
Myfunction(&$myVariable); // パラメータを参照によって渡すと、関数によって変更された変数が関数の終了後も新しい値を保持するようになります。
5. 現在実行中のスクリプトに関数ライブラリを挿入するにはどのような関数を使用できますか?
この質問に対する理解が異なれば、答えも異なります。私の最初のアイデアは、include()、include_once()、require()、require_once() にすぎない PHP 関数ライブラリを挿入することですが、よく考えてください。 「ライブラリ」には com オブジェクトと .net ライブラリも含まれる必要があるため、次回誰かが「ライブラリ」について言及するときは、これら 2 つの関数をそれぞれ忘れないでください。
6.foo() と @foo() の違いは何ですか?
foo() はこの関数を実行し、解釈エラー、構文エラー、および実行エラーがあればページに表示されます。
@foo() は、この関数の実行時に上記のエラー メッセージをすべて非表示にします。
多くのアプリケーションは @mysql_connect() と @mysql_query を使用して mysql エラー メッセージを非表示にします。エラーは非表示にすべきではないため、可能であれば適切に処理して解決する必要があります。
7. PHP アプリケーションをどのようにデバッグしますか?
私はこれを頻繁に行うわけではありません。さまざまなデバッグ ツールを試しましたが、Linux システム上でそれらをセットアップするのは決して簡単ではありません。ここでは最近注目を集めているデバッグツールを紹介します。
PHP - Advanced PHP Debugger または PHP - APD、最初のステップは、次の手順を実行してインストールすることです:
pear install apd がインストールされたら、スクリプトの先頭に次のステートメントを追加してデバッグを開始します。 apd_set_pprof_trace(); 実行後、次のファイルを開いて実行ログを表示します。 apd.dumpdir
pprofp を使用してログをフォーマットすることもできます。
詳細については、http://us.php.net/manual/en/ref.apd.php を参照してください。
8.「===」とは何ですか? 「==」は true ですが、「===」は false である例を示します。
「===」は、ブール値「false」を返すことができる関数、またはブール値ではないが「false」値を割り当てることができる関数を表します。strpos() と strrpos() はその 2 つです。例。
質問の 2 番目の部分は少し難しくなります。「==」が false である例を考えるのは簡単ですが、「===」が true である例はほとんどありません。しかし、最終的に次の例を見つけました:
if (strpos("abc", "a") == true){ // "a" の位置が 0 であるため、この部分は実行されず、ブール値 "false" に変換されます。}if (strpos( "abc" ", "a") === true){ // 「===」により、関数 strpos() によって返される値がブール値に変換されないことが保証されるため、この部分が実行されます。}
9. メンバー関数や属性を持たないクラス myclass はどのように定義しますか?
クラス myclass{}
10.myclass のオブジェクトはどのように生成しますか?
$obj = 新しい myclass();
11. このカテゴリのプロパティにアクセスし、カテゴリ内でその値を変更するにはどうすればよいですか?
ステートメントを使用します: $this->propertyName、例:
クラス myclass{ private $propertyName; public function __construct() { $this->propertyName = "値"; 12.include と include_once の違いは何ですか?要求についてはどうですか?
3 つはすべて、url_allow_fopen が承認されているかどうかに応じて、他のファイルをスクリプトに挿入するために使用されます。このファイルはシステムの内部または外部から取得できます。しかし、それらの間には微妙な違いもあります:
include(): この関数を使用すると、同じファイルをスクリプトに複数回挿入できます。ファイルが存在しない場合は、システム警告が発行され、スクリプトの実行が続行されます。
include_once(): include() と同様の機能があり、その名前が示すように、関連するファイルはスクリプトの実行中に 1 回だけ挿入されます。
require(): include() と同様に、他のファイルをスクリプトに挿入するためにも使用されますが、ファイルが存在しない場合はシステム警告が発行され、致命的なエラーが発生し、スクリプトが中止されます。処刑
13. 次の関数のうち、ブラウザを別のページにリダイレクトできるものはどれですか?
redir()
これは PHP 関数ではないため、実行エラーが発生します。
ヘッダー()
これが正解です。 header() はヘッダー情報を挿入するために使用され、ブラウザーを別のページにリダイレクトするために使用できます。例:
header("場所: http://www.search-this.com/");
場所()
これは PHP 関数ではないため、実行エラーが発生します。
リダイレクト()
これは PHP 関数ではないため、実行エラーが発生します。

14. ファイルを読み書きするために使用できる関数は次のうちどれですか?
fget()
これは PHP 関数ではないため、実行エラーが発生します。
file_open()
これは PHP 関数ではないため、実行エラーが発生します。
fopen()
これが正解です。fopen() は、ファイルを読み書きするために使用できます。詳細については、php.net を参照してください。
open_file()
これは PHP 関数ではないため、実行エラーが発生します。
15.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() の両方の値を返すことができます。
16.次のコードは何をしますか?説明してください。
$date='08/26/2003';print ereg_replace("([0-9]+)/([0-9]+)/([0-9]+)","[url=file:/ /2///1///3%22,$date]2/1/3",$date[/url]);
これは、日付を MM/DD/YYYY 形式から DD/MM/YYYY 形式に変換します。私の友人は、この正規表現は次のステートメントに分解できると教えてくれました。このような単純な式については、単に説明の便宜上、分解する必要はありません。 // 1 つ以上の 0 ~ 9 の後にスラッシュが続く $regExpression = "([0-9]+)/"; // 1 つ以上の 0 ~ 9 の後に別のスラッシュが続く $regExpression .= " ([0-9]+)/";// これも 1 つ以上の 0-9$regExpression に対応します。= "([0-9]+)"; [url=file:// 2/// 1///3]2/1/3[/url] は、括弧に対応するために使用されます。最初の括弧は月に、2 番目の括弧は日付に、3 番目の括弧は年に対応します。
17. テキスト行 $string がある場合、$string 内の HTML タグを削除する正規表現をどのように記述しますか?
まず、PHP には HTML タグを削除するための組み込み関数strip_tags() があり、なぜ独自の正規表現を記述する必要があるのでしょうか。さて、これを面接の質問として扱いましょう:
$stringOfText = "

これはテストです

";$expression = "/<(.*?)>(.*?)/"; echo preg_replace($expression, "[url=file://2/]2[/url]", $stringOfText);// /(<[^>]*>) も使用できるという人もいます。 / $expression = "/(<[^>]*>)/";echo preg_replace($expression, "", $stringOfText);
18.PHP と Perl が配列とハッシュ テーブルを区別する方法の違いは何ですか?
これが、私が常に人々に適切なプログラミング言語を選択するように勧めている理由です。1 つの言語しか使用していない場合、この質問にどう答えることができますか?この質問は簡単です。Perl ではすべての配列変数 (@myArray など) が @ で始まりますが、PHP では $myArray など、すべての変数の先頭として $ が使用されます。
Perl では、%myHash などのハッシュ テーブルを表すために % が使用されます。PHP では、$myHash などの $ が引き続き使用されます。
19. PHP を使用して HTTP のステートレスな性質にどのように対処しますか?
2 つの主なオプションはセッションと Cookie です。セッションを使用する方法は、各ページの先頭に session_start() を追加し、$_SESSION ハッシュ テーブルを使用してセッション変数を保存することです。 Cookie に関しては、覚えておく必要があるルールは 1 つだけです。それは、テキストを出力する前に set_cookie() 関数を呼び出すことです。また、すべての Cookie 変数にアクセスするには、$_COOKIE ハッシュ テーブルを使用するだけです。
信頼性の低い方法は、訪問者の IP アドレスを使用する方法ですが、これには一定の危険があります。
20.GDライブラリは何に使用されますか?
これはおそらく、バージョン 4.3.0 以降、PHP システムに組み込まれている私のお気に入りのライブラリです。このライブラリを使用すると、さまざまな形式でグラフィック ファイルを処理および表示できます。このライブラリのもう 1 つの一般的な用途は、グラフィック ファイルを作成することです。 GD の代替手段は ImageMagick ですが、このライブラリは PHP に組み込まれていないため、システム管理者がサーバーにインストールする必要があります。
21. HTML コードを出力するメソッドをいくつか書いてみます。
PHP では、echo、print、printf などの任意の出力ステートメントを使用できます。ほとんどの人は次のように echo を使用します。 echo "My string $variable"; このメソッドも使用できます:
echo << HTML タグを含めることもできます。単独の行に置く必要があり、余分な空白を含めることはできません。END;
22. PHP は Perl よりも優れていますか?ご相談ください。
単純な質問で舌戦を始めるのはやめましょう。「仕事に適した言語を選択するのではなく、仕事に適した言語を選択してください。」個人的には、Perl はコマンド ライン ツールとしての使用に非常に適していると思います。 , Web アプリケーションには適していませんが、コマンド ラインでも優れたパフォーマンスを発揮しますが、その真の力はコマンド ラインで最大限に発揮されます。同様に、PHP はコンソール環境でも使用できますが、PHP は Web アプリケーション専用に設計された機能が多数あるのに対し、PHP はコマンド ラインを念頭に置いて設計されていると個人的に思います。
個人的にはどちらの言語も好きで、大学時代は Perl、PHP、Java をよく使っていましたが、家では PHP、Perl、Ruby (現在勉強中)、Java の練習に多くの時間を費やしています。私のスキル知識は最新のものです。多くの人が、C と C++ について、そしてそれらが私のアプリケーションで役割を果たす可能性があるかどうかについて尋ねますが、私の答えは基本的に「ノー」です。ただし、C と C++ も可能です。 Web ページを作成するために使用されますが、バブル ソートやクイック ソートのパフォーマンス比較を表示するコンソール アプリケーションを作成する必要がある場合は、結局のところ、この種の作業用に設計されていません。と merge sort の場合は、間違いなく C/C++ を使用します。フォト アルバム システムを作成する必要がある場合は、PHP または C# を使用します (ユーザー インターフェイスを作成するには、Web ページよりも .NET の方が適していると思います)。

PHP の古典的な面接の質問 (シリアル 4)
1 PHP における値渡しと参照渡しの違いを説明してください。いつ値渡しするのか、いつ参照渡しするのか?
回答: 値渡しは変数の値を別の変数に渡すだけですが、参照は両方が同じ場所を指すことを意味します。
2 PHP の error_reporting の機能は何ですか?
回答: error_reporting() 関数は、実行時に error_reporting ディレクティブを設定します。PHP にはさまざまなレベルのエラーがあり、この関数を使用すると、スクリプトの実行中 (実行時) にそのレベルが設定されます。 3 正規表現 (正規表現) を使用して、電子メールの形式が正しいかどうかを確認する関数を作成してください。
答え:
if(isset($_POST['アクション']) &&
$_POST['アクション']=='送信済み')
{
$email=$_POST['email'];
If(!preg_match("/^(?:w+.?)*w+@(?:w+.?)*w+$/",$email))
{
エコー
「メールの検出に失敗しました」;
}
それ以外は
{
エコー
"電子メールの検出に成功しました";
}
}
それ以外
{
?>

メール検出
<スクリプトタイプ="text/javascript">
機能チェックメール(sText)
{
var reg=/^(?:w+.?)*w+@(?:w+.?)*w+$/;
var email=document.getElementById(sText).value;
if(!reg.test(email))
{
alert("メールの検出に失敗しました");
}
その他
{
alert("メールの形式は正しいです");
}
}




メールアドレス: />

/>
/>
/>



}
?>

4 取得したパラメータを含む、現在の実行スクリプトのパスを取得する方法を簡単に説明します。
エコー
"http://".$_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF']."?".$_SERVER['QUERY_STRING'];
//エコー "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
?>

5 整数データを格納する1次元配列がありますので、それを大きい順に並べる関数を書いてください。高い実行効率が求められます。実行効率を向上させる方法について説明します。 (この関数は自分で実装する必要があります。PHP関数は使用できません)

関数 BubbleSort(&$arr)
{
$cnt=count($arr);
$flag=1;
for($i=0;$i {
if($flag==0)
{
戻る;
}
$flag=0;
for($j=0;$j {
If($arr[$j]>$arr[$j+1])
{
$tmp=$arr[$j];
$arr[$j]=$arr[$j+1];
$arr[$j+1]=$tmp;
$flag=1;
}
}
}
}
$test=array(1,3,6,8,2,7);
バブルソート($test);
var_dump($test);
?>


6 開発プロセス中にページの読み込みを高速化するためにどのような方法を使用しているかの例を教えてください
回答: サーバー リソースが必要な場合にのみ開き、サーバー リソースを適切なタイミングで閉じ、データベースにインデックスを追加します。また、ページは静的ファイル、画像、その他の大きなファイルを別のサーバーに生成できます。コード最適化ツールを使用する

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/632660.html技術記事この記事では、PHP プログラマーの筆記試験と面接の質問をいくつかまとめています。PHP プログラマーに面接する場合は、最初にこれらの質問に目を通すとよいでしょう。 一般的な PHP プログラマーの筆記試験問題 タグ...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。