1. フォームの get 送信メソッドと post 送信メソッドの違いは何ですか?
答え: get は HTTP プロトコルを通じてリクエストを送信し、URL パラメーターを通じてそれを受信します。一方、post はエンティティ データであり、フォームを通じて大量の情報を送信できます。
2. セッションとクッキーの違いは何ですか?
答え: session: ユーザーがアクセスするグローバル一意変数を保存し、サーバー上の PHP によって指定されたディレクトリ内の (session_dir) の場所に保存されます
Cookie: ページへの連続したアクセスを保存するために使用されます。Cookie の場合は、ユーザーの WIN の Temp ディレクトリに保存されます。
どちらも時間を通じて時間の長さを設定できます
3.データベース内のトランザクションとは何ですか?
答え: トランザクションは、単位としてのデータベース操作の順序付けされたセットです。グループ内のすべての操作が成功した場合、トランザクションは成功したとみなされます。1 つの操作だけが失敗した場合でも、トランザクションは成功とは言えません。すべての操作が完了したら、
トランザクションはコミットされ、その変更は他のすべてのデータベースプロセスに影響します。操作が失敗した場合、トランザクションはロールバックされ、トランザクション内のすべての操作の効果はキャンセルされます。
簡単な説明の質問:
1. PHP を使用して、前日の時刻を 2006-5-10 22:21:21 の形式で出力します (2 点)
答え: echo date('Y-m-d H:i:s', strtotime('-1 days'));
2. echo()、print()、print_r()の違い(3点)
答え: echo は PHP ステートメントであり、print と print_r は関数です。ステートメントには戻り値がありませんが、関数は (役に立たない場合でも) 戻り値を持つことができます。
print() は単純型変数 (int、string など) の値のみを出力できます
print_r() は複合型変数 (配列、オブジェクトなど) の値を出力できます
echo 1つ以上の文字列を出力します
3. HTMLとPHPを使い分けできるテンプレート(1点)
答え:Smarty、Dwoo、TinyButStrong、Template Lite、Savant、phemplate、XTemplate
5. バージョン管理に使用されるツールは何ですか? (1 点)
答え: cvs、svn、vss;
6.文字列反転の実装方法(3つのポイント)
答え: echo strrev($a);
7. MYSQL データベースを最適化する方法。 (4 ポイント、さらに書くとさらに獲得)
答え:
1. 最も適切なフィールド属性を選択し、定義されたフィールドの長さを可能な限り短くし、フィールドを「都道府県、性別」などの NOT NULL に設定してみてください。ENUM に設定するのが最善です
2. サブクエリの代わりに接続 (JOIN) を使用します。
a. 注文なしで顧客を削除します: DELETE FROM customerinfo WHERE customerid not in (SELECT customerid FROM orderinfo)
b. 注文のないすべての顧客を抽出します: 顧客 ID が含まれていないところから顧客情報を選択します (注文情報から顧客 ID を選択します)
c. b の速度の最適化を改善します: SELECT FROM customerinfo LEFT JOIN orderid customerinfo.customerid=orderinfo.customerid
orderinfo.customerid が NULL の場合
3. UNION を使用して手動で作成した一時テーブルを置き換えます
a. 一時テーブルを作成します: SELECT name FROM `nametest` UNION SELECT username FROM `nametest2`
4. トランザクション処理:
a. 両方が true の場合、両方が失敗するなど、データの整合性を確保します。
mysql_query("BEGIN");
mysql_query("顧客情報 (名前) の値に挿入 ('$name1')";
mysql_query("SELECT * FROM `orderinfo` where customerid=".$id");
mysql_query("コミット");
5. テーブルをロックし、トランザクション処理を最適化します。
a. SELECT ステートメントを使用して初期データを取得し、いくつかの計算を通じて UPDATE ステートメントを使用して新しい値をテーブルに更新します。
WRITE キーワードを含む LOCK TABLE ステートメントにより、UNLOCK TABLES コマンドが実行される前に UNLOCK TABLES コマンドが確実に実行されます。
在庫を挿入、更新、削除するための他のアクセス権はありません
mysql_query("ロックテーブル顧客情報読み取り、注文情報書き込み");
mysql_query("SELECT customerid FROM `customerinfo` where id=".$id);
mysql_query("UPDATE `orderinfo` SET ordertitle='$title' where customerid=".$id);
mysql_query("テーブルのロックを解除");
6. 外部キーを使用してロックテーブルを最適化する
a. customerinfo の customerid を orderinfo の customerid にマッピングします。
法的な顧客 ID のないレコードは orderinfo に書き込まれません
顧客情報テーブルを作成
(
顧客ID INT NOT NULL、
主キー(顧客ID)
)TYPE = INNODB;
注文情報テーブルを作成
(
orderid INT NOT NULL、
顧客ID INT NOT NULL、
主キー(顧客ID,注文ID),
外部キー (customerid) 参照 customerinfo
(顧客 ID) カスケード削除時
)TYPE = INNODB;
注: 「ON DELETE CASCADE」、このパラメータにより、customerinfo テーブルのレコードが削除されると、注文も削除されます
テーブル内のこのユーザーのすべてのレコード。外部キーを使用する場合は、トランザクション セキュリティ タイプを INNODB として定義する必要があることに注意してください。
7. インデックスを作成します:
a.フォーマット:
(通常のインデックス)->
作成: CREATE INDEX ON テーブル名 (インデックス フィールド)
変更: ALTER TABLE テーブル名 ADD INDEX [インデックス名] (インデックスフィールド)
指定したインデックスを持つテーブルを作成します: CREATE TABLE tablename([...],INDEX[インデックス名](インデックスフィールド))
(固有のインデックス)->
作成: CREATE UNIQUE ON テーブル名 (インデックス フィールド)
変更: ALTER TABLE tablename ADD UNIQUE [インデックス名] (インデックスフィールド)
指定したインデックスを持つテーブルを作成します: CREATE TABLE tablename([...],UNIQUE[インデックス名](インデックスフィールド))
(主キー)->
これは一意のインデックスであり、通常はテーブルの作成時に作成されます。形式は次のとおりです。
CREATA TABLE テーブル名 ([...],PRIMARY KEY[インデックス フィールド])
8. クエリステートメントを最適化する
a. 同じフィールドで比較演算を実行し、確立されたインデックス フィールドでの関数演算を最小限に抑えることが最善です
例 1:
SELECT * FROM order WHERE YEAR(orderDate)
SELECT * FROM order WHERE orderDate
例 2:
SELECT * FROM order WHERE addtime/7
SELECT * FROM order WHERE addtime
例 3:
SELECT * FROM order WHERE タイトル「%good%」など;
SELECT * FROM 注文 WHERE タイトル>="良い" と名前
8. PHP の意味 (1 ポイントを獲得)
回答: PHP は、動的な Web サイトを作成するためのサーバーベースのスクリプト言語です。PHP と HTML を使用して Web サイトのホームページを生成できます
。
9. 現在時刻を取得するMYSQLの関数と日付をフォーマットする関数は何ですか?(2点)
答え:今()、日付()
10. 中国語の文字列を文字化けせずにインターセプトする方法。 (3点)
答え: function GBsubstr($string, $start, $length) {
if(strlen($string)>$length){
$str=null;
$len=$start+$length;
for($i=$start;$i
if(ord(substr($string,$i,1))>0xa0){
$str.=substr($string,$i,2);
$i++;
}その他{
$str.=substr($string,$i,1);
}
}
$str.'...';
を返す
}その他{
$string を返す;
}
}
11. バージョン管理ソフトウェアを使用したことがありますか? (1 点)
12. テンプレート エンジンを使用したことがありますか? (1 点)
答え: 中古、賢い
13. 最も誇りに思っている開発作業を簡単に説明してください (4 点)
答え: 情報の分類
14. トラフィックが多い Web サイトの場合、トラフィックの問題を解決するためにどのような方法を使用しますか?(4 つのポイント)
回答: サーバー ハードウェアが現在のトラフィックをサポートするのに十分であるかどうかを確認し、データベースの読み取りと書き込みを分離し、データ テーブルを最適化します。
プログラム機能ルールは、外部ホットリンクを禁止し、大きなファイルのダウンロードを制御し、メイントラフィックを迂回するために別のホストを使用することを禁止します
15. PHPを使用して、クライアントIPとサーバーIPを表示するコードを記述します(1点)
答え: 印刷クライアント IP: echo $_SERVER[‘REMOTE_ADDR’] または: getenv(‘REMOTE_ADDR’);
プリントサーバー IP:echo gethostbyname("www.bolaiwu.com")
16. include ステートメントと require ステートメントの違いは何ですか? 同じファイルを複数回インクルードすることを避けるために、(?) ステートメントを使用して置き換えることができます (2 点)。
答え: require-> require は無条件に含まれます。つまり、require がプロセスに追加されると、条件が true かどうかに関係なく、require が最初に実行されます
include->include には戻り値がありますが、require には戻り値がありません (おそらく require の方が include より速いためです)
注: インクルードされたファイルが存在しないか構文エラーがある場合、 require は致命的ですが、 include はそうではありません
17.SESSIONの生存時間(1分)を変更する方法
答え: 方法 1: php.ini の session.gc_maxlifetime を 9999 に設定し、Apache を再起動します
方法 2:$savePath = "./session_save_dir/";
$lifeTime = 時間 * 秒;
session_save_path($savePath);
session_set_cookie_params($lifeTime);
session_start();
方法 3: setcookie() と session_set_cookie_params($lifeTime);
18. PHP Development Resource Network のホームページのような Web ページのアドレスがあります: http://www.phpres.com/index.html、そのコンテンツを取得するにはどうすればよいですか ($1 ポイント)。
答え: 方法 1 (PHP5 以降):
$readcontents = fopen("http://www.phpres.com/index.html", "rb");
$contents = stream_get_contents($readcontents);
fclose($readcontents);
$contents をエコー;
方法 2:
echo file_get_contents("http://www.phpres.com/index.html");
19. HTTP 1.0 では、ステータス コード 401 の意味は (?)、プロンプト「ファイルが見つかりません」が返された場合、ヘッダー関数を使用できます。そのステートメントは (?) です。
答え: ステータス 401 は承認されていないことを意味します。header("Location:www.xxx.php");
12. PHP では、ヒアドキュメントは特殊な文字列であり、その終了マークは次のようになります。(1 点)
回答: ヒアドキュメントの構文は、「
例:
$str =
私の名前は江啓輝です!
ショー;
13. asp、php、jspの長所と短所について話す(1点)
回答: ASP (Active Server Pages の正式名) は、Web サーバー側の開発環境で、生成および操作に使用できます
動的でインタラクティブな高性能 WEB サービス アプリケーションを実行します。 ASP はスクリプト言語 VB Script (Java スクリプト
) を使用します
) を独自の開発言語として使用します。
PHP は、C、Java、Perl 言語から多くの構文を借用したクロスプラットフォームのサーバーサイド組み込みスクリプト言語です。
と PHP 独自の機能を組み合わせることで、Web 開発者が動的に生成されるページを迅速に作成できるようになり、現在
の大部分がサポートされます。
データベース。もう 1 つのポイントは、PHP は完全に無料で、PHP 公式サイト (http://www.php.ne
) からダウンロードできることです。
t) 無料ダウンロード。また、ソース コードに無制限にアクセスでき、必要な機能を追加することもできます。
JSP は Sun 社が立ち上げた新世代の Web サイト開発言語で、現時点での ASP と PHP の共通の問題を完全に解決します -
スクリプトレベルの実行 (PHP4 も Zend のサポートを受けてコンパイルおよび実行されていると言われています)。
a の並外れた功績により、Java は Java アプリケーションや Java アプレット (Js) に加えて新たな成果をもたらしました
p——Java サーバー ページ。 Jsp は、Serverlet と JavaBean のサポートにより強力な Web サイトを完成させることができます
手順。
これら 3 つはすべて、HTML コードに特定のプログラム コードを混合し、言語エンジンにプログラム コードを解釈させて実行させる機能を提供します。
ただし、JSP コードはサーブレットにコンパイルされ、Java 仮想マシンによって解釈および実行されます。このコンパイル操作は JSP ページでのみ実行されます
。
最初のリクエストで発生します。 ASP、PHP、および JSP 環境では、HTML コードは主に情報の表示スタイルを記述します
であり、処理ロジックを記述するためにプログラム コードが使用されます。通常の HTML ページは Web サーバーのみに依存しますが、ASP と PH
P. JSP ページでは、プログラム コードを分析して実行するために追加の言語エンジンが必要です。プログラムコードの実行結果は
に再埋め込まれます
HTMLコードをまとめてブラウザに送信します。 ASP、PHP、JSP はすべて Web サーバー用のテクノロジーです
、クライアント ブラウザには追加のソフトウェア サポートは必要ありません。
14. mvc についての理解について話します (1 点)
答え: モデル、ビュー、コントローラーによって完成するアプリケーション
モデルは実装する関数をコントローラーに送信し、コントローラーは整理された関数を受け取ってビューに渡します。
15. 次の表を使用して、最も投稿数の多い 10 人の名前の SQL を作成します: メンバー (ID、ユーザー名、投稿、パス、電子メール) (2 点)
答え: SELECT * FROM `members` ORDER BY 投稿 DESC 制限 0,10;
16. PHP における値渡しと参照渡しの違いを説明してください。いつ値で渡すのか、いつ参照で渡すのか (2 点)
答え: 値渡し: 関数スコープ内の値への変更は関数の外では無視されます
参照渡し: 関数のスコープ内での値の変更は、関数の外側でもこれらの変更を反映します
利点と欠点: 値で渡す場合、PHP は値をコピーする必要があります。特に大きな文字列やオブジェクトの場合、これはコストのかかる操作になる可能性があります。
参照渡しでは値をコピーする必要がないため、パフォーマンスの向上に非常に役立ちます。
17. PHP の error_reporting の機能とは何ですか? (1 点)
答え: エラーレベルとエラーメッセージレポートを設定します
18. メールの形式が正しいかどうかを検証する関数を書いてください(2点)
答え: 関数 checkEmail($email)
{
$pregEmail = "/([a-z0-9]*[-_/.]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a- z0-9]+)+[/.][a-z]{2,3}([/.][a-z]{2})?/i";
preg_match($pregEmail,$email) を返す
}
19. 取得したパラメータを含む、現在の実行スクリプトのパスを取得する方法を簡単に説明します。 (2点)
答え:$script_name = ベース名(__file__);
21. JSフォームでダイアログボックスをポップアップさせる関数とは何ですか?(2点)
答え: ポップアップダイアログボックス:alert()、prompt()、confirm()
入力フォーカスを取得します focus()
22. JSのリダイレクト機能とは何ですか?(2点)
答え: window.location.href,
23. foo() と @foo() の違いは何ですか? (1 点)
答え: @foo() はエラー出力を制御します
24. メソッドと属性なしで「myclass」という名前のクラスを宣言する方法 (1 点)
答え: クラス myclass{ }
25.「myclass」という名前のオブジェクトをインスタンス化する方法 (1 点)
答え: new myclass()
26. クラスのプロパティにアクセスして設定するにはどうすればよいですか? (2 点)
答え:$object = new myclass();
$newsstr = $object->test;
$object->test = "情報";
27. mysql_fetch_row() と mysql_fetch_array の違いは何ですか? (1 点)
答え: mysql_fetch_row は結果セットから 1 行の配列を列挙型として取り出すものです
Mysql_fetch_array は、結果セットから行配列を連想配列または数値配列として取り出すものです
28. GD ライブラリは何に使用されますか? (1 点)
回答: gd ライブラリは、画像を処理するための一連の API を提供します。GD ライブラリを使用して画像を処理したり、画像を生成したりできます。
ウェブサイトでは、GD ライブラリは通常、サムネイルの生成や画像への透かしの追加、ウェブサイト データに関するレポートの生成に使用されます。
29. PHP に HTML コードを入力するいくつかの方法を指摘します。 (1点)
30. ファイルを開いて読み書きできる関数はどれですか?(1 点)
(a) fget() (b) file_open() (c) fopen() (d) open_file() [ c ]
31. 次のオプションのうち、ユーザー配列に john が追加されないものはどれですか (1 点)。
(a) $users[] = ‘ジョン’;
(b) array_add($users,’john’);
(c) array_push($users,‘john’);
(d) $users ||= 'ジョン'
32. 次のプログラムが入力されますか?(1 点)
$num = 10;
関数multiply(){
$num = $num * 10;
}
乗算();
エコー $num;
?>
出力: 10
33. PHP を使用して、「Zhang San」という名前のすべてのコンテンツを検索し、出力する簡単なクエリを作成します (2 ポイント)
テーブル名 User
名前 電話番号 内容 日付
張三 13333663366 2006-10-11 大学卒業
Zhang San 13612312331 学部学位 2006-10-15
Zhang Si 021-55665566 工業中等学校卒業 2006-10-15
上記の質問に従ってコードを完成させてください:
$mysql_db=mysql_connect("local","root","pass");
@mysql_select_db("DB",$mysql_db);
$result = mysql_query("SELECT * FROM `user` WHERE name='Zhang San'");
while($rs = mysql_fetch_array($result)){
echo $rs["tel"].$rs["content"].$rs["date"];
}
34. 次のクラスの使い方とその意味を説明します。
クラステスト{
関数 Get_test($num){
$num=md5(md5($num)."En");
$num を返します;
}
}
答え:$testnum = "123";
$object = 新しいテスト();
$encrypt = $object->Get_test($testnum);
echo $encrypt;
クラス テストには、複数文字列暗号化のメソッドを呼び出すクラスをインスタンス化する Get_test メソッドが含まれています
35. SQL ステートメントの形式を記述する: 挿入、更新、削除 (4 ポイント)
テーブル名 User
名前 電話番号 内容 日付
張三 13333663366 2006-10-11大学卒業
Zhang San 13612312331 学士 2006-10-15
Zhang Si 021-55665566 工業中等学校卒業 2006-10-15
(a) 新しいレコードがあります (Xiao Wang 13254748547 高校卒業 2007-05-06) SQL ステートメントを使用してテーブルに追加してください。
mysql_query("「user」(名前、電話番号、内容、日付) の値を挿入します
('Xiao Wang','13254748547','高校卒業','2007-05-06')")
(b) SQLステートメントを使用して、Zhang Sanの時間を現在のシステム時間に更新してください
$nowDate = date("Ymd");
mysql_query("UPDATE `user` SET date='".$nowDate."' WHERE name='Zhang Shan'");
(c) Zhang Siという名前のすべての記録を削除するよう書き込んでください
mysql_query("DELETE FROM `user` WHERE name='Zhang Si'");
36. データ型の意味を書いてください(int char varchar datetime text) varchar と char の違いは何ですか (2 点)。
答え: int は数値型、char 固定長文字列、varchar は実際の長さの文字列、datetime 日時型、text テキスト文字列です
charのフィールドは作成したテーブルで設定された長さに固定され、varcharは可変長文字です
38. 以下のプログラムの出力結果を書いてください(1点)
$b=201;
$c=40;
$a=$b>$c?4:5;
エコー$a;
?>
答え:4
39. 変数が設定されているかどうかを検出する関数はありますか? (2 点)
答え: isset($str),empty($str);
40. クエリ結果セットの総数を取得する関数とは何ですか(1 点)
答え: mysql_num_rows($result);
41. $arr = array('james', 'tom', 'symfony'); 最初の要素 (1 ポイント) の値を出力してください。
答え:echo $array[0];
42. 質問41の配列値を「,」記号で区切って文字列出力(1点)に結合してください。
答え: for($i=0;$i
43. $a = 'abcdef'; $a の値を取り出し、最初の文字 (1 点) を出力してください。
答え: echo $a{0} または echo substr($a,0,1)
44. PHPはSQLサーバー/oracleなどのデータベースに接続できますか? (1点)
答え: もちろんです
45. PHP5のパーミッション制御修飾子(3点)を記述してください
答え: public (パブリック)、private (私的使用)、protected (継承)
46. php5のコンストラクタとデストラクタを書いてください(2点)
答え:__construct、__destruct
47. 以下を完了します:
(1) ニュースリリースシステムを作成します。テーブル名は message で、次のフィールド (3 点) があります。
id記事id
タイトル記事タイトル
コンテンツ記事の内容
category_id 記事カテゴリID
ヒット曲
答え:CREATE TABLE 'メッセージ'(
'id' int(10) NOT NULL auto_increment,
'title' varchar(200) デフォルト NULL,
「コンテンツ」テキスト、
'category_id' int(10) NOT NULL,
'ヒット' int(20),
主キー('id');
)ENGINE=InnoDB デフォルトの文字セット=utf8;
(2) 上記と同じニュースリリースシステム: コメントテーブルはユーザーの返信内容を記録し、フィールドは次のとおりです (4 点)
comment_id 返信ID
id メッセージテーブルのIDに関連付けられた記事ID
comment_content 返信内容
次に、データベースにクエリを実行して、次の形式で記事タイトルのリストを取得し、返信数が最も多い記事を先頭に並べ替える必要があります。
記事ID 記事タイトル クリック数 返信数
SQL ステートメントを使用して上記のクエリを完了します。記事に返信がない場合、返信数は 0 と表示されます。
答え: SELECT message.id id,message.title title,IF(message.`hits` IS NULL,0,message.`hits`) ヒット数、
IF(comment.`id` が NULL,0,count(*)) 数値 FROM メッセージ LEFT JOIN
コメント ON message.id=comment.id GROUP BY message.`id`;
(3)上記コンテンツ管理システム、カテゴリテーブルは分類情報を保存しており、フィールドは以下の通りです(3点)
category_id int(4) not null auto_increment;
categroy_name varchar(40) not null;
ユーザーが記事を入力するとき、ドロップダウン メニューを選択して記事カテゴリを選択します
このドロップダウン メニューの実装方法を書き留めます
答え: categoryList()関数
{
$result=mysql_query("カテゴリから category_id、categroy_name を選択")
or die("無効なクエリ: " .mysql_error());
print("
/n");
while($rowArray=mysql_fetch_array($result))
{
print("".$rowArray['categroy_name']." /n");
}
print("");
}
プログラミングに関する質問:
1. 標準 URL からファイル拡張子をできるだけ効率的に取得する関数を作成します
例: http://www.sina.com.cn/abc/de/fg.php?id=1 php または .php を削除する必要があります
答え 1:
関数getExt($url){
$arr = parse_url($url);
$file = ベース名($arr['path']);
$ext =explode(".",$file);
$ext[1] を返す;
}
答え 2:
関数 getExt($url) {
$url = ベース名($url);
$pos1 = strpos($url,".");
$pos2 = strpos($url,"?");
if(strstr($url,"?")){
return substr($url,$pos1 + 1,$pos2 - $pos1 - 1);
} 他 {
substr($url,$pos1);を返します
}
}
2. HTML言語では、ページの先頭にあるmetaタグを使用してファイルのエンコード形式を出力できます
標準HTMLページの同様のメタタグ内のcharset部分の値をbig5に変更する関数をPHP言語で書いてください
ご注意ください:
1. このメタステートメントだけではなく、HTML ページ全体を処理する必要があります
2. 大文字と小文字を無視します
3. ' と " はここで交換可能です
4. 「Content-Type」の両側の引用符は無視できますが、「text/html」の両側の引用符は許可されません
5.余分なスペースに注意してください
3. 2 つのファイルの相対パスを計算する関数を作成します
例えば $a = '/a/b/c/d/e.php';
$b = '/a/b/12/34/c.php';
$aに対する$bの相対パスが../../c/dとなるように計算し、()を追加します
答え: function getRelativePath($a, $b) {
$returnPath = 配列(ディレクトリ名($b));
$arrA = 爆発('/', $a);
$arrB = 爆発('/', $returnPath[0]);
for ($n = 1, $len = count($arrB); $n
if ($arrA[$n] != $arrB[$n]) {
休憩
}
if ($len - $n > 0) {
$returnPath = array_merge($returnPath, array_fill(1, $len - $n, '..'));
}
$returnPath = array_merge($returnPath, array_slice($arrA, $n));
return implode('/', $returnPath);
}
エコー getRelativePath($a, $b);
空白を埋めてください:
1. PHP では、現在のスクリプトの名前 (パスとクエリ文字列を除く) が事前定義された変数 __$_SERVER['PHP_SELF']__ に記録され、現在のページにリンクする URL が事前定義された変数 __ に記録されます。 $_SERVER['HTTP_REFERER']__
中
2. プログラムセグメント を実行すると、__0__ が出力されます。
3. HTTP 1.0 では、ステータス コード 401 の意味は ____ で、「ファイルが見つかりません」というプロンプトが返された場合、ヘッダー関数を使用でき、そのステートメントは ____ です。
4. 配列関数 arsort の機能は、配列を逆ソートし、インデックス関係を維持することです__、ステートメント error_reporting(2047) の機能は、__すべてのエラーと警告を報告することです__。
5.PEAR のデータベース接続文字列の形式は____です。
6. Web ページ上のすべての JS/VBS スクリプトをフィルターする (つまり、script タグとそのコンテンツを削除する) 正規表現を作成します: preg_replace("/<script>].*?>.*) ?</script>/si", "newinfo", $script);
7. ファイル http.conf で PHP をインストールします。まず、ステートメント ____ を使用して PHP モジュールを動的にロードし、次にステートメント ____ を使用して、Apache に php という拡張子を持つすべてのファイルを PHP スクリプトとして処理させます。と。
LoadModule php5_module "c:/php/php5apache2.dll" 、AddType application/x-httpd-php .php,
8. include ステートメントと require ステートメントは、現在のファイルに別のファイルをインクルードできます。これらの違いは、同じファイルを複数回インクルードすることを避けるために、ステートメント __require_once||include_once__ に置き換えることができます。
9. クラスの属性をシリアル化してセッションに保存できるため、後でクラス全体を復元できます。これに使用される関数は ____ です。
10. php.ini で __allow_call_time_pass_reference boolean__ が on に設定されていない限り、関数のパラメーターを変数への参照にすることはできません。
11. SQL における LEFT JOIN の意味は、__自然な左外部リンク__です。 tbl_user が学生の名前と学生 ID を記録する場合、tbl_score は学生の学生 ID を記録します (一部の学生は試験後に退学になり、その記録はありません)
テストのスコア (score) とテスト科目 (subject)、各生徒の名前と対応する各科目の合計スコアを出力したい場合は、SQL ステートメント ____ を使用できます。
12. PHP では、ヒアドキュメントは特別な文字列であり、その終了マークは____ でなければなりません。
プログラミングに関する質問:
13. フォルダー内のすべてのファイルとサブフォルダーを走査できる関数を作成します。
答え:
関数 my_scandir($dir)
{
$files = array();
if ( $handle = opendir($dir) ) {
while ( ($file = readdir($handle)) !== false ) {
if ( $file != ".." && $file != "." ) {
if ( is_dir($dir . "/" . $file) ) {
$ files [$ file] = scandir($ dir。 "/"。$ file);
}else {
$files[] = $file;
}
}
} }
Closedir($handle);
$files を返す;
}
}
14. フォーラムでの無制限分類の実装原則を簡単に説明します。
答え:
/*
データテーブルの構造は次のとおりです:
CREATE TABLE `カテゴリ` (
`categoryID` smallint(5) unsigned NOT NULL auto_increment,
`categoryParentID` smallint(5) unsigned NOT NULL デフォルト '0',
`categoryName` varchar(50) NOT NULL デフォルト '',
主キー (`カテゴリーID`)
) エンジン=MyISAM デフォルトの文字セット=gbk;
`category` (`categoryParentID`, `categoryName`) の値を挿入します
(0, '第 1 レベル カテゴリ'),
(1, '第 2 レベル カテゴリ'),
(1, '第 2 レベル カテゴリ'),
(1, '第 2 レベル カテゴリ'),
(2、「第 3 レベル カテゴリ」)、
(2, '333332'),
(2, '234234'),
(3, 'aqqqqqd'),
(4、「笑」)、
(5, '66333666');
*/
//カテゴリ ID 変数 $category_id を指定し、このカテゴリのすべてのサブカテゴリを返します
//$default_category はデフォルトで選択されたカテゴリです
関数 Get_Category($category_id = 0,$level = 0, $default_category = 0)
{
グローバル $DB;
$sql = "SELECT * FROM カテゴリ ORDER BY categoryID DESC";
$result = $DB->query( $sql );
while ($rows = $DB->fetch_array($result))
{
$category_array[$rows[カテゴリ親ID]][$rows[カテゴリID]] = array('id' => $rows[カテゴリID], '親' => $rows[カテゴリ親ID], '名前' => $行
[カテゴリ名]);
}
if (!isset($category_array[$category_id]))
{
"" を返す;
}
foreach($category_array[$category_id] AS $key => $category)
{
if ($category['id'] == $default_category)
{
echo "
}その他
{
echo "
}
if ($level > 0)
{
echo ">" . str_repeat( " ", $level ) . $category['name'] "/n"
}
その他
{
echo ">" . $category['name'] "/n";
}
Get_Category($key, $level + 1, $default_category);
}
unset($category_array[$category_id]);
}
/*
関数によって返される配列形式は次のとおりです:
配列
(
[1] => 配列 ( [id] => 1 [name] => 第一レベルのカテゴリ [レベル] => 0 [親 ID] => 0 )
[4] => 配列 ( [id] => 4 [name] => 二次カテゴリ [レベル] => 1 [親 ID] => 1 )
[9] => 配列 ( [id] => 9 [名前] => ハハ [レベル] => 2 [親 ID] => 4 )
[3] => 配列 ( [id] => 3 [name] => 二次カテゴリ [レベル] => 1 [親 ID] => 1 )
[8] => 配列 ( [id] => 8 [名前] => aqqqqqd [レベル] => 2 [親ID] => 3 )
[2] => 配列 ( [id] => 2 [name] => 二次カテゴリ [レベル] => 1 [親 ID] => 1 )
[7] => 配列 ( [id] => 7 [名前] => 234234 [レベル] => 2 [親ID] => 2 )
[6] => 配列 ( [id] => 6 [名前] => 333332 [レベル] => 2 [親ID] => 2 )
[5] => 配列 ( [id] => 5 [name] => 3 レベルのカテゴリ [レベル] => 2 [ParentID] => 2 )
[10] => 配列 ( [id] => 10 [名前] => 66333666 [レベル] => 3 [親ID] => 5 )
)
*/
//カテゴリIDを指定して配列を返します
関数カテゴリ配列($カテゴリ_id = 0,$レベル=0)
{
グローバル $DB;
$sql = "SELECT * FROM カテゴリ ORDER BY categoryID DESC";
$result = $DB->クエリ($sql);
while ($rows = $DB->fetch_array($result))
{
$category_array[$rows['categoryParentID']][$rows['categoryID']] = $rows;
}
foreach ($category_array AS $key=>$val)
{
if ($key == $category_id)
{
foreach ($val AS $k=> $v)
{
$オプション[$k] =
配列(
'id' => $v['categoryID'], 'name' => $v['categoryName'], 'level' => $v['categoryParentID' ]
);
$children = カテゴリ配列($k, $level+1);
if (count($children) > 0)
{
$options = $options + $children;
}
}
}
}
unset($category_array[$category_id]);
$options を返す;
}
?>
クラスメイト
{
関数 Get_Category($category_id = 0,$level = 0, $default_category = 0)
{
echo $category_id;
$arr = array(
'0' => array(
= '1' = & gt; 配列 ('ID' = & gt; 1、'ペイント' = & gt; 0、'名前' = & gt; '1111')、
= '2' = & gt; 配列 ('ID' = & gt; 2, 'ペイント' = & gt; 0, '名前' = & gt; '2222')、
️ '4' => array('id' =>
)、
'1' => array(
= '3' = & gt; 配列 ('ID' = & gt; 3, 'ペイント' = & gt; 1, '名前' = & gt; '333333')、
= '5' = & gt; 配列 ('ID' = & gt; 5, 'ペイント' = & gt; 1, '名前' = & gt; '555555')
🎜 🎜 🎜 🎜
)、
'3' =>配列(
'6' => array('id' => 6, 'parent' => 3, 'name' => '66666'),
'7' => array('id' => 7, 'parent' => 3, 'name' => '77777')
)、
'4' =>配列(
'8' => array('id' => 8, 'parent' => 4, 'name' => '8888'),
'9' => array('id' => 9, 'parent' => 4, 'name' => '9999')
)
);
if (!isset($arr[$category_id]))
{
戻り "";
}
foreach($arr[$category_id] AS $key => $cate)
{
if ($cate['id'] == $default_category)
{
$txt = "
}その他{
$txt = "
}
if ($level > 0)
{
$txt1 = ">" 。 str_repeat( "-", $level ) 。 「」。 $cate['名前'] 。 "/n";
}その他{
$txt1 = ">" 。 $cate['名前'] 。 "/n";
}
$val = $txt.$txt1;
エコー $val;
self::Get_Category($key, $level + 1, $default_category);
}
}
function getFlush($category_id = 0,$level = 0, $default_category = 0)
{
ob_start();
self::Get_Category($category_id ,$level, $default_category);
$out = ob_get_contents();
ob_end_clean();
$out を返す;
}
}
$id =$_GET['id'];
エコー "";
$c = 新しいケイト();
//$c->Get_Category();
$ttt= $c->getFlush($id,'0','3');
エコー$ttt;
エコー "";
?>
1.次の文のうち、John を users 配列に追加しないものはどれですか?
$users[] = 'ジョン';
John が users 配列に正常に追加されました。
array_add($users,’ジョン’);
関数 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 をグローバル変数 (グローバル $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 エラー メッセージを隠すために @mysql_connect() と @mysql_query を使用します。エラーは隠されるべきではないため、可能であれば適切に処理して解決する必要があります。
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 番目の部分は少し難しいです。「==」が偽である例を考えるのは簡単ですが、その逆の例はほとんどありません。しかし、最終的に次の例を見つけました:
if (strpos("abc", "a") == true){ // "a" の位置が 0 であるため、この部分は実行されず、ブール値 "false" に変換されます}if (strpos(" abc", "a") === true){ // 「===」により、関数 strpos() によって返される値がブール値に変換されないことが保証されるため、この部分が実行されます。}
9. メンバー関数や属性を持たないクラス 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.次の関数のうち、ブラウザを別のページにリダイレクトできるものはどれですか?
リディレクトリ()
これは PHP 関数ではないため、実行エラーが発生します。
ヘッダー()
これは正解です。 header() はヘッダー情報を挿入するために使用され、ブラウザを別のページにリダイレクトするために使用できます。例:
header(“場所: http://www.gosoa.com.cn/”);
場所()
これは 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]+)”,”\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 に対応します。最初の括弧は月に、2 番目の括弧は日付に、3 番目の括弧は年に対応するために使用されます。
17. $string というテキスト行がある場合、$string 内の HTML タグを削除する正規表現はどのように記述しますか?
まず第一に、PHP には HTML タグを削除するための組み込み関数strip_tags() があり、なぜ独自の正規表現を記述する必要があるのでしょうか。さて、これを面接の質問として扱いましょう:
$stringOfText = “
これはテストです
”;$expression_r = “/(.*?)(.*?)>/” ;echo preg_replace($expression_r, “\2″, $stringOfText);// /(]*>)/ $expression_r = “/(] *>)/”;echo preg_replace($expression_r, “”, $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 ライブラリは何に使用されますか?
これはおそらく私のお気に入りのライブラリです。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 の方が適していると思います)。
6. ファイル http.conf で PHP をインストールします。まず、ステートメント ____ を使用して 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)、テストのスコア (score)、および試験科目 (subject) を記録します (一部の学生は試験を受けて退学になり、記録がありません) 名前を印刷したい場合。各生徒のスコアとそれに対応する合計科目スコアについては、SQL ステートメント ____ を使用できます。
答え: 自然な左外部結合
データベースの作成phpinterview;
phpinterviewを使用する
テーブル tbl_user を作成する
(
IDスルー
名前
主キー(ID)
);
テーブル tbl_score を作成する
(
IDスルー
スコア
主題
);
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, ‘中文’);
に挿入
sumscoreとしてA.id,sum(B.score)を選択します
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!="..")
to
️ $files[$file]=my_scandir($dir."/".$file);
}
その他
$files[]=$dir."/".$file;
}
}
}
Closedir($handle);
$files を返す;
} }
}
}
print_r(my_scandir("D:Program FilesInternet ExplorerMUI"));
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 は不正を意味します; header(“HTTP/1.0 404 Not Found”) [リファレンスマニュアル》関数リファレンス》HTTP 関数》ヘッダーを参照してください。
4. 配列関数 arsort の関数は ____ 、ステートメント error_reporting(2047) の関数は ____ です。
答え: arsort: 配列を逆ソートし、インデックス関係を維持します。error_reporting(2047) の機能は次のとおりです。レポート Al。