14. Web ページ上のすべての JS/VBS スクリプトをフィルタリングする (つまり、スクリプト タグとそのコンテンツを削除する) 正規表現を考え出します。
15 . ファイル http.conf で、PHP を Apache モジュールとしてインストールします。まず、ステートメント ____ を使用して PHP モジュール
serialize() /unserialize() |
テーブル>17.MySQL データベースを最適化するには?(1) 構成の最適化 (サーバー構成) (2) テーブル作成の最適化 (テーブル、フィールド設定) (3)クエリの最適化 (SQL ステートメント) 回答: 1. 最も適切なフィールド属性を選択し、定義されたフィールドの長さをできる限り短くし、フィールドを NOT NULL (「都道府県、性別」など) に設定するようにします。できれば に設定してください。 ENUM 2. 接続 (JOIN) を使用します。 サブクエリを置き換えるには: 3. 共用体 (UNION) を使用して、手動で作成した一時テーブルを置き換えます。 4. トランザクション処理: 5. テーブルをロックし、トランザクション処理を最適化します。 6. 外部キーを使用し、ロックテーブル 7. インデックスの作成: 8. クエリステートメントの最適化
18. データベースのトランザクションとは何ですか?
トランザクションとは順序付けられた一連のデータベースが 1 つのユニットとして動作します。グループ内のすべての操作が成功した場合、トランザクションは成功したとみなされます。1 つの操作だけが失敗した場合でも、トランザクションは成功とは言えません。すべての操作が完了すると、トランザクションはコミットされ、その変更は他のすべてのデータベース プロセスに適用されます。操作が失敗した場合、トランザクションはロールバックされ、トランザクション内のすべての操作の効果はキャンセルされます。
19. SESSION の生存時間を変更する方法
方法 1: php.ini の session.gc_maxlifetime を 9999 に設定し、Apache を再起動します
方法 2: $savePath = "./session_save_dir/"; $lifeTime = 時間 * 秒;
session_save_path($savePath);
session_set_cookie_params($lifeTime);
メソッド 3: setcookie() と session_set_cookie_params($lifeTime);
20.PHP Development Resource Network のホームページなどの Web ページ アドレスがあります: http://www.phpres.com/index.html。コンテンツを取得するには?
方法 1 (PHP5 以降の場合): $readcontents = fopen("http://www.phpres.com /index.html" , "rb"); $contents = stream_get_contents($readcontents); fclose($readcontents); echo $contents;
方法 2: echo file_get_contents("http ://www.phpres.com/index.html");
21. asp、php、jsp の長所と短所について話す
ASP の正式名称は Active Server Pages で、動的で対話型の高性能 WEB サービス アプリケーションを生成および実行するために使用できる WEB サーバー側開発環境です。 ASP は、独自の開発言語としてスクリプト言語 VB Script (Java スクリプト) を使用します。 PHP は、クロスプラットフォームのサーバー側埋め込みスクリプト言語であり、C、Java、Perl 言語から多くの構文を借用し、Web 開発者が動的に生成されるページを迅速に作成できるようにするために、PHP 独自の機能を組み合わせています。データベース。もう1つのポイントは、PHPは完全に無料でお金は必要なく、制限なくソースコードを入手でき、必要な機能を追加することもできます。
JSP は、Sun 社が開発した新世代の Web サイト開発言語で、現在の ASP と PHP の共通の問題を完全に解決します。JSP は、Serverlet と JavaBean のサポートにより強力になります。
これら 3 つはすべて、HTML コードに特定のプログラム コードを混合し、言語エンジンにプログラム コードを解釈して実行させる機能を提供します。ただし、JSP コードはサーブレットにコンパイルされ、Java 仮想マシンによって解釈および実行されます。このコンパイル操作は、JSP ページの最初のリクエストでのみ発生します。 ASP、PHP、および JSP 環境では、HTML コードは主に情報の表示スタイルを記述し、プログラム コードは処理ロジックを記述するために使用されます。通常の HTML ページは Web サーバーのみに依存しますが、ASP、PHP、および JSP ページでは、プログラム コードを分析して実行するために追加の言語エンジンが必要です。プログラムコードの実行結果はHTMLコードに再埋め込まれ、ブラウザにまとめて送信されます。 ASP、PHP、および JSP はすべて Web サーバー指向のテクノロジであり、クライアント ブラウザには追加のソフトウェア サポートは必要ありません。
22. PHP における値渡しと参照渡しの違いを説明してください。いつ値渡しするのか、いつ参照渡しするのか?
値渡し: 関数のスコープ内での値の変更は関数
参照渡し: 関数のスコープ内での値への変更は、関数の外側の変更も反映されます
利点と欠点: 値で渡す場合, PHP は値をコピーする必要があります。特に大きな文字列やオブジェクトの場合、これはコストのかかる操作になる可能性があります。
参照渡しでは値をコピーする必要がないため、パフォーマンスの向上に非常に役立ちます。
23. JS のリダイレクト機能とは?
window.location.href,
24. GD ライブラリは何に使用されますか?
gd ライブラリは、画像を処理するための一連の API を提供します。GD ライブラリを使用して画像を処理したり、画像を生成したりできます。 Web サイトでは、GD ライブラリは通常、サムネイルの生成や画像への透かしの追加、または Web サイト データに関するレポートの生成に使用されます。
====================================== == =============================================== == =========
- PHP のバージョンはどれですか?
- PHP タグ とは何ですか?
- ?> タグが含まれています。その後に改行が来ないように注意してください。 あなたの理解を教えてください。 クラスを自動的にロードする方法は何ですか?
- 一重引用符と二重引用符の類似点と相違点は何ですか?
- define() と Const ?
-
Web
- サーバーを構成するには複数の方法があります。 PHP サービスを提供します。 どれを知っていますか? HTML
- 入力と出力 を浄化するにはどうすればよいでしょうか? PHP の UTF-8 について何を知っていますか?
- PHP は日付と時刻をどのように処理しますか?
-
=================================== = ================================================ = ============
1. 配列内の各要素間の加算の反復演算を実装する関数を作成します。 注: すべての配列要素は自然数。例: $data=array(1.2.3); プログラムでは、配列内の各配列要素のさまざまな加算 (要素自体の加算を含む) を出力する必要があります。 1 1=2,1 2=3,1 3=4 , 2 2=4,2 3=5,3 3=6

2. 子供が 1 ドル未満のキャンディーを購入し、その 1 ドルを販売員に渡しました。販売員は、子供にできるだけ少ない枚数の小銭を渡したいと考えています。額面 25 セント、10 セント、5 セント、1 セントのコインが無制限に提供され、販売員が子供に最小限のコインを渡すアルゴリズムを作成するとします。


3. 新入社員は 10 名です。アプリケーションのパフォーマンスに応じて 1 から 10 までのランクを付け、連続する 10 個の 4 桁の自然数をジョブ番号として使用します。各人のジョブ番号はパフォーマンス ランキングで割り切れます。そのジョブ番号は何ですか?

======================= = ================================================ = ========================
1. 変数はどのように定義されますか?変数が定義されているかどうかを確認するにはどうすればよいですか?変数を削除するにはどうすればよいですか?変数が空かどうかを判定する関数?
isset() unset() empty()
2. 可変変数とは何ですか?
変数の変数名を動的に設定して使用できます。 $a = 'hello' , $$a = 'world', ${$a}=hello world
3. 変数の割り当て方法は何ですか?
1) 直接代入 2) 変数間の代入 3) 参照代入
4. 参照とコピーの違いは何ですか?
コピーとは、元の変数の内容をコピーすることです。コピーされた変数と元の変数は独自のメモリを使用し、相互に干渉しません。 参照は変数のエイリアスに相当し、実際には同じ変数の内容に異なる名前でアクセスすることを意味します。 1 つの変数の値を変更すると、もう一方の変数の値も変更されます。
5. php の変数の基本的なデータ型は何ですか?
php は 8 つのプリミティブ データ型をサポートします。 含まれるもの: 4 つのスカラー型 (Boolean、integer、float/double、string) 2 つの複合型 (配列、オブジェクト) 2 つの特殊な型 (リソース、NULL)
6. 他の型が次の場合。ブール型に変換された場合、どれが false とみなされますか?
ブール値 false、整数値 0、浮動小数点値 0.0、空の文字列、文字列 '0'、空の配列、特殊なデータ型 NULL、固定変数の設定なし。
empty() 関数はどのような状況で true を返しますか?
ブール値 false、整数値 0、浮動小数点値 0.0、空の文字列、文字列 '0'、array() 空の配列、特殊なデータ型 NULL、なし プロパティ、変数のオブジェクト値が割り当てられていない場合。
7. 変数 $a が定義されているが、初期値が割り当てられていない場合 では $a==0? $a==false? $a==''? $a==NULL? $a===NULL?
答え: echo=>何もない、var_dump=>NULL empty($b)==true? ——————————— echo=>1 , var_dump=>bool(true) このときの $a の出力は何でしょうか? ———————— echo=>Nothing、var_dump=>NULL $a の出力は何ですか? ————————— echo=>1 , var_dump=>int(1)
8. 文字列を整数に変換する方法はいくつありますか?ありますか?それを達成するにはどうすればよいでしょうか?
強制型変換: (整数) 文字列変数名; 直接変換: settype (文字列変数, 整数);
9スカラーデータと配列の最大の違いは何ですか?
スカラーは 1 つのデータのみを格納できますが、配列は複数のデータを格納できます。
10. 定数はどのように定義されていますか? 定数が定義されているかどうかを確認するにはどうすればよいですか?定数の値にはどのようなデータ型を使用できますか?
define()//定数を定義、define()//定数の値がスカラー型データのみであるかどうかを確認します。
11. 定数はシステム組み込み定数とカスタム定数に分かれます。最も一般的なシステム組み込み定数の名前を教えてください。
__FILE__ 、 __LINE__ 、 PHP_OS 、 PHP_VERSION
12. 2 つの同一の定数が定義されている場合、前者と後者のどちらが機能しますか?
定数は一度定義すると再定義したり未定義にしたりできないため、前者が機能します。
13. 定数と変数の違いは何ですか?
1) 定数の前に $ 記号はありません。2) 定数は、代入ステートメントではなく、define() を通じてのみ定義できます。3) 定数は、どこでも定義およびアクセスできます。 4) 定数は一度定義すると再定義したり未定義にすることはできませんが、変数は代入によって再定義されます。5) 定数の値はスカラー データのみであり、データベースには 8 種類あります。プリミティブデータ型。
14. PHP で一般的に使用されるいくつかの事前定義されたグローバル配列変数は何ですか?
9 つの事前定義された組み込み配列変数があります: $_POST、$_GET、$_REQUEST、$_SESSION、$_COOKIE、$_FILES、$_SERVER、$_ENV、$GLOBALS
15. 実際の開発では、定数はどこでよく使われますか?
1) ユーザー名、パスワード、データベース名、データベースのホスト名など、データベースに接続するための情報を定数として定義しますサーバー; 2) サイトを定義します。 Web の絶対パス、smarty のインストール パス、モデル、ビュー、またはコントローラーのフォルダー パスなど、一部のパスは定数として定義されます。 3) Web サイトの公開情報。名前、ウェブサイトのキーワード、その他の情報。
16. 関数の利点は何ですか?
プログラムの保守性の向上 ソフトウェアの信頼性の向上 プログラムの再利用性の向上 プログラムの開発効率の向上
17 . 関数を定義するにはどうすればよいですか?関数名は大文字と小文字を区別しますか?
1) function キーワードを使用します。2) 関数の命名規則は変数と同じで、数字ではなく文字またはアンダースコアで始まります。3) 関数名は大文字と小文字が区別されません。 ; 4 ) 関数名には、宣言された関数名またはシステムによって構築された関数名は使用できません。
18. 変数または変数スコープの可視性とは何ですか?
は、プログラム内の変数のスコープです。変数の可視性に従って、変数はローカル変数とグローバル変数に分類されます。
19. ローカル変数とグローバル変数とは何ですか?グローバル変数は関数内で直接呼び出すことができますか?
ローカル変数は関数内で定義された変数であり、そのスコープはその変数が配置されている関数です。関数の外にローカル変数と同じ名前の変数がある場合、プログラムはそれらをまったく異なる 2 つの変数であると認識します。関数を終了すると、ローカル変数も同時にクリアされます。 グローバル変数は、すべての関数の外部で定義された変数です。そのスコープは PHP ファイル全体ですが、ユーザー定義関数の内部では使用できません。 ユーザー定義関数内でグローバル変数を使用する必要がある場合は、global キーワード宣言を使用する必要があります。 つまり、関数内の変数の前に golbal を追加すると、関数内でグローバル変数にアクセスでき、このグローバル変数を使用して操作を実行できるだけでなく、グローバル変数を再割り当てすることもできます。 グローバル変数は、$GLOBALS['var'] を使用して呼び出すこともできます。
20. グローバルキーワードの使い方は?事前定義されたグローバル変数配列 $GLOBALS を使用するにはどうすればよいですか?
Global はグローバル変数の定義に使用されますが、このグローバル変数は Web サイト全体ではなく、include または require 内のすべてのファイルを含む現在のページに適用されます。
$GLOBALS 配列では、各変数は要素であり、キー名は変数名に対応し、値は変数の内容に対応します。 $GLOBALS はスーパーグローバル変数であるため、$GLOBALS はグローバル スコープ内に存在します。グローバルとは、ファイル内で global $db として宣言している限り、宣言の下でこの $db を参照できることを意味します。
21. 静的変数とは何ですか?
関数内で定義された変数が、その前にキーワード static を付けて宣言されている場合、その変数は静的変数です。 通常、関数呼び出しが終了すると、関数内の変数に格納されたデータがクリアされ、占有されていたメモリ空間が解放されます。静的変数を使用する場合、関数が初めて呼び出されたときに変数は初期化され、関数が再度呼び出されたときに変数は初期化されませんが、保存することができます。関数が最後に実行された後の値。静的変数は関数のすべての呼び出し間で共有されると言えます。
22. PHP で関数にパラメータを渡すにはどのような方法がありますか?両者の違いは何ですか?
値渡しとアドレス渡し (または参照渡し) (1) 値渡し: 渡される変数は関数に渡される変数とは別の空間に格納されます。 。 真ん中。したがって、関数本体内の変数値を変更しても、元の変数値には影響しません。 (2) アドレスで渡す: & 記号を使用して、パラメータがアドレスで渡されることを示します。メインプログラム内の指定値や対象変数を関数に渡すのではなく、値や変数のメモリ格納ブロックアドレスを関数にインポートするため、関数本体内の変数とメインプログラム内の変数は同じになります。記憶は同じです。関数本体に加えられた変更は、関数本体の外側の変数の値に直接影響します。
23. 再帰関数とは何ですか?再帰呼び出しを行うにはどうすればよいですか?
再帰関数は実際にはそれ自体を呼び出す関数ですが、次の 2 つの条件を満たす必要があります。1) それ自体を呼び出すたびに、最終結果に近づく必要があります。 ) 特定の再帰終了条件が無限ループを引き起こさないようにする必要があります。
24. 関数が存在するかどうかを確認します。
function_exists( string $function_name ) 存在する場合は true を返し、存在しない場合は false を返します。
25. func()[email protected]() の違いは何ですか?
2 番目の関数呼び出しは失敗してもエラーを報告しませんが、最初の関数呼び出しはエラーを報告します
26.および require() 関数の使用法と違いは何ですか? include_once() と require_once() についてはどうですか?
include と require の後のエラー レベルは異なります。 include_once() と require_once() は、ロードする前にインポートされているかどうかを判断する必要があります。 🎜> 27. 前置詞と後置詞の違いを教えてください。
プレフィックスは、まず変数を 1 増やしてから、その値を元の変数に代入します。ポストフィックスは、最初に変数の現在の値を返します。そして、変数の現在の値を 1 ずつ増やします。
28. 文字列演算子 "." と算術演算子 " " の違いは何ですか?
「a」と「b」の間に . が使用されている場合は、ハイフンとみなされます。 2 つに違いがある場合、php はそれを操作であるとみなします。 1) 数値の両側の文字列が数字で構成されている場合、文字列は自動的に整数に変換されます。 2) 数値の両側の文字列が純粋な文字である場合、0 が出力されます。数値の両側の文字列が数値で構成されている場合、文字列の先頭の数値がインターセプトされて演算されます。
29. 三項演算子(または三項演算子)とは何ですか?
もう一方の結果に基づいて 2 つの式のうち 1 つを選択します。 例: ($a==true) ? '良い':'悪い';
30. 制御フローステートメントとは何ですか?
1: 3 つのプログラム構造 シーケンシャル構造、分岐構造、ループ構造 2: 分岐: if/esle/esleif/ switch/case/default 3: switch 注意が必要: case文内の定数には、整数、文字列定数、または定数式を使用できますが、変数にすることはできません。 同じ switch 句内で、case の値を同じにすることはできません。そうでない場合は、case の最初に出現した値のみを取得できます。 4: while do...while do...while のループの後にはセミコロンが必要です。 while と do の違い...while 5: Break と continue の違い。 Break はループを終了できます。 continue は、break ほど強力ではありません。このループを終了して次のループに入ることができるだけです。
31. 配列の概念とは何ですか?インデックスに基づく 2 種類の配列とは何ですか?また、それらを区別する方法は何ですか?配列に値を代入する 2 つの方法は何ですか?
配列とは、一連の値を格納できる変数 (複合変数) です。インデックス配列 (インデックス値は 0 から始まる数値) と連想配列 (文字列をインデックス値として使用)配列に値を割り当てる 2 つの方法は何ですか? 配列を宣言するには主に 2 つの方法があります。 1. array() 関数を使用して配列を宣言します。key=>value を使用してインデックスと値をそれぞれ定義することも、配列のインデックス添え字を定義せずに配列の要素値のみを指定することもできます。 2. array() 関数を呼び出さずに、配列要素に値を直接代入します。例: $arr[0] = 1; $arr[1] = 2; 特記事項: 配列の添え字が整数と同等の文字列値である場合 (ただし、0 で始めることはできません)、整数。 例: $array[3] と $array['3'] は同じ要素を参照しますが、$array['03'] は別の要素を参照します。
32. 配列を走査するには?
①for ループ ②foreach ループは次のように使用されます: foreach($arr as $key=>$value){} ③list each と while を組み合わせてループ
33. 配列を指定するとき、ポインタはどのように指すのでしょうか? list()/each()/while() が配列をループするとき、ポインタはどのように指すのでしょうか?
foreach の実行が開始されると、配列内のポインターは自動的に最初のユニットを指します。 foreach は配列自体ではなく、指定された配列のコピーを操作するためです。 配列を each() した後、配列ポインタは配列内の次のユニットに留まるか、配列の終わりに達すると最後のユニットに留まります。 each() を使用して配列を再度走査する場合は、reset() を使用する必要があります。reset() は、配列の内部ポインタを最初のユニットに巻き戻し、最初の配列ユニットの値を返します。
34. 配列の長さを計算する (または配列内のすべての要素の数を数える) 方法は?文字列の長さを取得するにはどうすればよいですか?
count() -- 配列内の要素の数をカウントします。 count (配列名) または count (配列名, 1) を使用できます。2 番目のパラメーターがあり、それが数値 1 である場合、配列要素の数を再帰的にカウントすることを意味します。 2 番目のパラメーターが数値 0 の場合、パラメーターが 1 つだけある count() 関数と同等です。 sizeof() -- count() のエイリアス 文字列: strlen()、mb_strlen();
35. 配列に関連する一般的な関数は何ですか?
1) count -- (sizeof alias) - 配列内のセルの数またはオブジェクト内の属性の数をカウントします。 例: int count (mixed $var [, int $mode]) $ var は通常、配列 Type であり、その他の型には単位が 1 つだけあります。 $mode のデフォルト値は 0 です。 1 は配列の再帰的なカウントをオンにします。 2) in_array (mixed $needle, array $haystack [, bool $strict]) — 配列に特定の値が存在するかどうかを確認します。 針が文字列の場合、比較では大文字と小文字が区別されます。 3 番目のパラメータ strict の値が TRUE の場合、in_array() 関数は針のタイプが干し草の山のものと同じかどうかもチェックします。 3) array_merge(array $array1 [, array $array2 [, array $... ]] ) は 1 つ以上の配列のセルをマージし、1 つの配列の値が前の配列に追加されます。結果の配列を返します。 特記事項: 入力配列に同じ文字列キー名がある場合、キー名の後の値で前の値が上書きされます。ただし、配列に数値キーが含まれている場合、後続の値は元の値を上書きせず、追加されます。 配列が 1 つだけ指定され、その配列が数値的にインデックス付けされている場合、キー名は継続的に再インデックス付けされます。 4) 配列と文字列間の変換 (1)explode ( string $separator , string $string [, int $limit ] ) 区切り文字を使用して文字列を区切ります。 (2)implode ( string $glue , array $arr ) は、コネクタを使用して配列内の各ユニットを文字列に接続します。 join は implode のエイリアスです。 5) sort(array &$array [, int $sort_flags]) — この関数が終了すると、配列のセルが最小値から最大値まで並べ替えられます。
36. 配列結合関数 array_merge() と配列加算演算 $arr $arr2 の違いは何ですか?
array_merge()->array_merge() を使用します。配列のキー名が同じ場合、後続の値が前の値を上書きします。 ; 数値インデックス配列 merge の場合、上書きされませんが、後者は前者に追加されます。 " "->array_merge() とは異なる配列の加算演算を使用します。加算演算が連想配列であっても数値インデックス配列であっても、同じキー名の値のみが破棄されます。キー名が最初に出現する要素は保持され、同じキー名を持つ後続の要素は追加されません。
37. 文字列を定義するときの一重引用符と二重引用符の違いは何ですか?
” ” 二重引用符で囲まれたフィールドはコンパイラによって解釈され、HTML コードとして出力されます。
‘ ‘ 一重引用符内の単語は解釈されず、直接出力されます。
38. echo()、print()、print_r() の違いは何ですか?
(1) echo は構文です。1 つ以上の文字列を出力します。戻り値はありません。(2) print は関数です。配列とオブジェクトを出力できません。文字列を出力します。print には return があります。 value ; (3)print_rは配列を出力できる関数です。 print_r は興味深い関数です。文字列、int、float、配列、オブジェクトなどを出力できます。配列を出力する場合、出力が成功すると print_r は true を返し、print_r に print_r($ を渡すことができます)。 str,true) なので、print_r print_r で処理した値を出力せずに返します。なお、echoとprintはprintより効率が良いため、基本的にはechoを使用します。
====================================== == =============================================== == =========
39. 機能分類による文字列処理関数とは何ですか?これらの機能は何をするのでしょうか?
A. 文字列出力関数 (1)echo $a,$b,$c...; は言語構造であり、実際の関数ではありません。 (2)print($a) この関数は文字列を出力します。成功した場合は 1、失敗した場合は 0 を返します (3)print_r($a) (4)var_dump($a); 型、長さ、値を出力できます B. 文字列の先頭と末尾のスペースを削除する関数:rim ltrim rtrim (エイリアス: Chop ) 2 番目のパラメータを使用すると、指定した文字を削除することもできます。 C. 文字列のエスケープ関数:addslashes() D. 文字列長の取得関数: strlen() E. 文字列長のインターセプト関数: substr() F. 文字列の取得関数: strstr()、strpos() G. 文字列の置換関数: str_replace( )
40. 次の質問に正しく答えてください。
1).$arr = array('james', 'tom', 'symfony'); $arr 配列の値を ',' で分割し、出力用の文字列にマージしてください。 echo implode(‘,’,$arr); 2).$str = ‘jack,james,tom,symfony’; $str を ‘,’ で分割し、分割した値を $arr 配列に入れてください。 $arr =explode(',',$str); 3).$arr = array(3,7,2,1,'d','abc'); $arr を大きいものから小さいものまでソートしてください。主要な値は変更されていませんか? arsort($arr); print_r($arr); 4).$mail = “[email protected]”; を確認するには、このメールのドメインを削除してください。あなたはメソッドをいくつ書き留めることができますか? echo strstr($mail,'163'); echo substr($mail,7); $arr =explode("@",$mail); 文字列がある場合は、文字列は「123、234、345」です。この文字列の最後のカンマを切り取るにはどうすればよいですか? 6) 乱数を取得する関数は何ですか? mt_rand() と rand() ではどちらの実行速度が速いですか?
41. ページの文字化けを解決するには?
1. まず、現在のファイルに文字化けがあるかどうかを検討します。 。 meta タグに charset が記述されているかどうかを確認します。PHP ページの場合は、header() 関数で charset が指定されているかどうかも確認できます。 例: header("content-type:text/html;charset=utf-8"); 2. 文字セット (つまり、charset) が設定されている場合は、保存されている現在のファイルのエンコード形式 ページに設定されている文字セットと一致しているかどうか、この 2 つは統一する必要があります。 3. データベースからデータを抽出する必要がある場合は、データベースにクエリを実行するときの文字セットが一致しているかどうかを判断します。現在のページに設定されている文字セット、たとえば :mysql_query("set names utf8") のように、2 つを統合する必要があります。
42. 正規表現とは何ですか? PHP の正規表現に関連してよく使用される関数は何ですか?電子メール、中国の携帯電話番号、固定電話番号の正規表現を書いてください。
正規表現は、文字の配置パターンを記述するために使用される文法規則です。正規表現はパターン式とも呼ばれます。 Web サイト開発では、フォーム送信情報の前にクライアント側での検証に正規表現が最も一般的に使用されます。 たとえば、ユーザー名が正しく入力されているか、パスワードの入力が要件を満たしているか、電子メールや携帯電話番号などの情報の入力が合法であるかどうかを検証します。 PHP では、正規表現は主に文字列の分割、一致、検索、置換の操作に使用されます。 preg シリーズの関数で対応できます。具体的な文字列は次のとおりです。 string preg_quote ( string str [, string delimiter] ) 正規表現の特殊文字は次のとおりです。 。 preg_replace -- 正規表現検索を実行し、混合 preg_replace (混合パターン、混合置換、混合主語 [, int limit] ) を置換します。 preg_replace_callback -- コールバック関数を使用して正規表現検索を実行し、混合 preg_replace_callback (混合パターン、コールバック コールバック、混合主語) を置換します。 [, int limit] ) preg_split - 正規表現を使用して文字列配列を分割します preg_split ( string pattern, string subject [, int limit [, int flags]] )
43 。特定の文字列内のすべての HTML タグをフィルターで除外したい場合に使用しますか?
strip_tags 関数を使用しているようです
44. preg_replace() と str_ireplace() の 2 つ機能と使い方の違いは何ですか? preg_split() 関数と split() 関数の使用方法は?
str_replace: これは文字列置換の推奨方法ですが、最も一致させたい要素が最初に配置されることに注意してください。 。
strtr: strtr も短い文字列を置換する場合には非常に効率的ですが、検索配列の添え字の長さの違いも効率に大きく影響します。また、使用しないことをお勧めします。何も起こらない場合、この形式は strtr(string, string, string) になります (半角文字以外は文字化けしやすくなります)。
preg_replace: 言うまでもなく、最も強力な機能である通常のマッチングを使用できますが、効率をある程度犠牲にする必要があります。
45. 現在のタイムスタンプを取得する主な関数は何ですか? PHP を使用して、今日の時刻を 2010-12-10 22:21:21 の形式で出力しますか? PHP を使用して、前日の時刻を 2010-12-10 22:21:21 の形式で出力しますか? 2010-12-25 10:30:25 を UNIX タイムスタンプに変換するにはどうすればよいですか?
echo date ("Y-m-d H:i:s" ,strtotime('-1,days')) date('Y-m-d H:i:s',time()); ; $unix_time = strtotime("2009-9-2 10:30:25");//UNIX タイムスタンプに変更します。 echo date("Y-m-d H:i:s",$unix_time);//通常の時刻にフォーマットします。 🎜>
46. get を使用して URL の値を渡す場合、中国語の文字化けが発生する場合、どの関数を使用して中国語の文字をエンコードする必要がありますか? ユーザーが Web サイトのフォームにデータを送信する場合、スクリプト攻撃 (たとえば、ユーザーが <script>alert (111); </script> を入力するなど) を防ぐために、データを受け取ったときに PHP 側でデータをどのように処理する必要がありますかそれ?
中国語をエンコードするには urlencode() を使用し、デコードするには urldecode() を使用します。 htmlspecialchars($_POST[‘title’]) を使用してフォームパラメーターをフィルターし、スクリプト攻撃を回避します。
47. データベースに接続する手順は何ですか?各ステップの戻り値のデータ型は何ですか?特に、mysql_query() はどのようなデータ型を返しますか?
$conn=mysql_pconnect("localhost","root","123456");//接続をオープンします mysql_select_db ("database name",$conn);//指定したデータベースに接続します
mysql_query("set names utf8");//文字エンコーディングを設定します
$sql="";<br>$R= mysql_query ($sql);//SQL ステートメントを実行して結果セットを返します
while($v=mysql_fetch_array($R)){
echo "フィールド名".$v['title'];<br><br>}
mysql_query() クエリなどのステートメントが含まれている場合、それはリソースを返します。端的に言えば、それは必要なデータ結果セットです。追加、削除、変更などのステートメントが含まれているかどうかを確認し、true または false を返します。
48. mysql_fetch_row() と mysql_fetch_assoc() および mysql_fetch_array の違いは何ですか?
最初のものは結果セットから行をインデックス配列として返し、2 つ目は連想配列を返し、3 つ目はインデックス配列または連想配列のいずれかを返します。 2 番目のパラメータに応じて MYSQL_BOTH MYSQL_NUM MYSQL_ASSOC のデフォルトは MYSQL_BOTH $sql = "select * from table1"; $result = mysql_fetch_array($result, MYSQL_NUM);
49. これまで学習したリソースを返す関数を教えてください。
答え: mysql_connect(); mysql_query(); 選択が成功した場合のみ、リソースは FALSE を返します。 fopen();
50. ファイルをアップロードする際に注意すべき点は何ですか?指定したディレクトリにファイルを保存するにはどうすればよいですか?重複した名前のファイルをアップロードする問題を回避するにはどうすればよいですか?
1. まず、php.ini でファイルのアップロードを有効にする必要があります。2. php.ini にはアップロードできる最大値があり、デフォルトは 2MB です。必要に応じて変更できます。 3. フォームをアップロードするときは、必ず enctype="multipart/form-data" を form タグに記述してください。 5. フォームを type= に設定します。 file" Control; 6. アップロードしたファイルのサイズ MAX_FILE_SIZE、ファイルの種類が要件を満たしているか、アップロード後に保存されるパスが存在するかに注意してください。 アップロードされたファイル名からファイル接尾辞を取得し、タイムスタンプ ファイル接尾辞を使用してファイルの名前を変更することで、名前の重複を避けることができます。 アップロードしたファイルの保存ディレクトリを自分で設定し、それをファイル名と組み合わせてファイル パスを形成し、指定したディレクトリにファイルを保存できます。
52. $_FILES は何次元の配列ですか? 1 番目と 2 番目の次元のインデックス添字は何ですか?ファイルを一括アップロードする場合は何に注意すればよいですか?
2 次元配列。最初の次元はアップロード コントロールの名前で、2 次元の添字は name/type/tmp_name/size/error.
53 ヘッダーの主な機能は何ですか。 () 関数?使用時に注意すべき点は何ですか?
header 関数を使用してページに移動します。 header('Location:'.$url); header を使用して content-type を宣言します。 header('content-type:text/HTML;charset=utf- 8') ; ヘッダーを使用して応答ステータス コードを返します。例: header('HTTP/1.1 404 Not Found'); ヘッダーを使用して、一定時間後にジャンプを実行します。 $url}" )、$delay はジャンプを遅らせる時間、$url はジャンプする必要がある URL、ヘッダーを使用してブラウザーのキャッシュを制御、http 検証を実行、header('HTTP/1.1 401 Unauthorized')、 header('WWW-Authenticate: Basic realm="Top Secret"'); ダウンロード操作にヘッダーを使用します。
54. ダウンロード時の header() 関数の使用方法。 files?
header("content-type: application/octet-stream;charset=UTF-8"); //ここで utf-8 を追加することとそれを定義することの違いは何ですかその上?
header("accept-ranges: bytes"); header("accept-length: ".filesize($filedir.$filename)); header("content-disposition:attachment"); ; filename=".$filedir.$filename);
55. ajax とは何ですか? ajaxの原理は何ですか? ajaxのコアテクノロジーとは何ですか? ajaxの長所と短所は何ですか?
ajax とは、asynchronous javascript and xml の略称で、javascript、xml、css、DOM などの複数の技術を組み合わせたものです。 「$」は jQuery のエイリアスです。ページ内のユーザーのリクエストは、ajax エンジンを通じて非同期にサーバーと通信します。最後に、ajax エンジンは、返されたデータをページに表示することを決定します。場所を指定します。 Ajax では、ついに、別のページのすべての出力コンテンツを 1 つのページ上の指定された場所にロードできるようになりました。 このようにして、静的ページもデータベースから返されたデータ情報を取得できます。したがって、ajax テクノロジーを使用すると、ページ全体を更新せずに静的 Web ページがサーバーと通信できるようになり、ユーザーの待ち時間が短縮され、ネットワーク トラフィックが削減され、顧客エクスペリエンスの使いやすさが向上します。 Ajax の利点は次のとおりです。 1. サーバーの負担を軽減し、これまでサーバーが負担していた作業の一部をクライアントに転送し、クライアントのアイドル リソースを処理に使用します。 2. 部分的な更新のみでページを更新します。ページの応答速度により、ユーザー エクスペリエンスがよりフレンドリーになります。 Ajax の欠点は、検索エンジンが Ajax によって要求されたコンテンツに直接アクセスできないため、SEO の促進や最適化に役立たないことです。 ajax のコアテクノロジーは XMLHttpRequest であり、これは JavaScript のオブジェクトです。
56. jQueryとは何ですか? jqueryでajaxを簡素化する方法は何ですか?
jQuery は Javascript のフレームワークです。 $.get()、$.post()、$.ajax()。 $ は jQuery オブジェクトのエイリアスです。
コードは次のとおりです: $.post(非同期アクセス用の URL アドレス, {'パラメータ名': パラメータ値}, function(msg){ $("#result") .html( msg); $.get(非同期アクセスのURLアドレス, {'パラメータ名': パラメータ値}, function(msg){ $("#result").html(msg); }); $.ajax ({ type: "post"、url:loadUrl、cache:false、data:"parameter name="パラメータ値、success:function(msg) { $("#result").html(msg); } });
57. セッション制御とは何ですか?
簡単に言えば、セッション制御はユーザー情報を追跡および識別するためのメカニズムです。セッション制御の考え方は、Web サイト内の変数を追跡することで、システムがこのユーザー情報に基づいて対応するユーザー情報を識別し、ユーザーの権限を表示できるようにすることです。ユーザーの対応する権限に適したページコンテンツ。 現在、最も重要なセッション追跡方法には、Cookie とセッションが含まれます。
58. セッション追跡の基本手順
1)。現在のリクエストに関連するセッション オブジェクトにアクセスします 2)。セッションに関連する情報を検索します 3)。セッション情報を保存します 4)。セッションデータの破棄
59. Cookieを使用する際の注意点は何ですか?
1) setcookie() の前にページ出力を行うことはできません。スペースや空白行も許可されません。2) setcookie() の後、$_COOKIE['cookiename'] を呼び出しても出力はありません。現在のページを更新するか、次のページに移動して Cookie の値を確認する必要があります。 3) ブラウザによって Cookie の処理が異なる場合があり、ブラウザによって最大数の Cookie が作成される場合があります。 Cookie の数は 300、それぞれ 4kb を超えることはできません。各 Web サイトで設定できる Cookie の合計数は 20 を超えることはできません。 4) Cookie はクライアント側に保存されます。ユーザーが Cookie を無効にすると、setcookie は機能しなくなります。したがって、Cookie にあまり依存しないでください。
60. セッションを使用する場合、現在のユーザーを他のユーザーと区別するために何を使用しますか?
sessionid、現在の session_id は session_id() 関数を通じて取得できます。
61. セッションと Cookie を使用する手順は何ですか?セッションとCookieのライフサイクルは何ですか?セッションとクッキーの違いは何ですか?
有効期限が設定されていない Cookie の場合、Cookie の値は、ブラウザが閉じている限り、クライアント マシンのメモリに保存されます。自動的に消えます。 Cookie の有効期限が設定されている場合、ブラウザは Cookie をテキスト ファイルの形式でハード ディスクに保存し、ブラウザを再度開いたときも Cookie の値は有効です。セッションは、ユーザーがサーバー側に保存する必要がある情報を保存します。各ユーザーのセッション情報は、キーと値のペアのようにサーバー側に保存されます。キーはセッション ID、値はユーザーが保存する必要がある情報です。サーバーは、保存されたセッション情報がどのユーザーに属しているかを識別するために sessionid を使用します。 2 つの最大の違いは、セッションがサーバー側に保存されるのに対し、Cookie はクライアント側に保存されることです。セッションのセキュリティは高くなりますが、Cookie のセキュリティは弱いです。セッションは Web 開発において非常に重要な役割を果たします。ユーザーがこの ID を使用して Web サイトの管理バックエンドにアクセスすると、ユーザーの正しいログイン情報をサーバーのメモリに記録でき、再度ログインすることなく ID 確認を取得できます。正しくログインしていないユーザーにはセッションスペースが割り当てられず、管理背景のアクセスアドレスを入力してもページの内容を閲覧することができません。ページに対するユーザーの操作権限はセッションを通じて決定されます。
セッションを使用する手順: 1. セッションを開始します: session_start() 関数を使用して開始します。 2. セッションを登録します。 $_SESSION 配列に要素を直接追加するだけです。 3. セッションを使用する: セッションが空であるか、すでに登録されている場合は、通常の配列と同様に使用します。 4. セッションを削除します。 1. unset を使用して単一のセッションを削除できます。 2. $_SESSION=array() を使用してすべてのセッション変数を一度にログアウトします。 3. session_destroy() 関数を使用してセッションを完全に破棄します。 Cookieはどのように使用されますか? 1. ユーザーが訪問した情報の一部を記録します。 2. ページ間で変数を渡します。 3. 閲覧したインターネット ページを Cookie 一時フォルダーに保存します。これにより、将来の閲覧速度が向上します。 Cookie を作成します: setcookie(string cookiename, string value, int期限切れ); Cookie を読み取る: スーパー グローバル配列 $_COOKIE を介してブラウザ側で Cookie の値を読み取ります。 Cookie の削除: 2 つの方法があります。 1. 手動削除方法: ブラウザのプロパティを右クリックし、[Cookie の削除] を表示し、すべての Cookie ファイルを削除する操作を実行します。 2.setcookie() メソッド: Cookie を設定するメソッドと同じですが、今回は Cookie の値が空に設定され、有効時間が 0 以下の現在のタイムスタンプになります。
====================================== == =============================================== == =========
62. Cookie の名前をユーザー名に設定し、値を jack に設定し、Cookie を 1 週間後に期限切れにする方法は? ブラウザは最大でいくつの Cookie を生成できますか?各 Cookie ファイルの最大サイズはどれくらいですか?
setcookie('username','jack',time() 7*24*3600); 最大 20 個の Cookie を生成できます。それぞれのクッキーは最大 4K を超えることはできません
63. セッションを設定または読み取る前に何をする必要がありますか?
php.ini で session.auto_start = 1 を直接オンにするか、ページの先頭で session_start() を使用してセッションをオンにすることができます。その前に出力があってはなりません。 session_start() (空白行を含む)。
64. 実際の開発ではセッションはどのような場面で使われるのでしょうか?
セッションは、ユーザーのログイン情報を保存し、ページ間で値を渡すために使用されます。 1) 一般に、ユーザーが正常にログインした後にユーザーのログイン情報をセッションに割り当てるために使用されます。2) 検証コード イメージを生成し、ランダム コードの生成後にセッションに値を割り当てるために使用されます。
65. セッションからログアウトする方法は何通りありますか?
unset() $_SESSION=array(); session_destroy();
66. OOP とは何ですか?クラス属性とは何ですか?
OOP (オブジェクト指向プログラミング) はオブジェクト指向プログラミングであり、最も重要な概念はクラスとオブジェクトの 2 つです。属性とメソッドの集合がクラスを形成します。クラスはオブジェクト指向プログラミングの核であり、特定の機能を実装するために使用される散在するコードが効率的に管理されます。 クラスは特定の機能と属性を備えた単なる抽象モデルですが、実際のアプリケーションではエンティティを 1 つずつ必要とします。つまり、クラスをインスタンス化した後、クラスはオブジェクトになります。クラスはオブジェクトの抽象概念であり、オブジェクトはクラスのインスタンス化です。 OOP には 3 つの主要な特徴があります。1. カプセル化 (隠蔽とも呼ばれます)、2. 継承、3. ポリモーフィズム。 OOP の利点: 1. コードの再利用性の高さ (コードの節約) 2. プログラムの保守性の高さ (スケーラビリティ) 3. 柔軟性
67. よく使用される属性へのアクセス 修飾子は何ですか?どういう意味でしょうか?
プライベート、保護、パブリック。 クラス外: public、var サブクラス内: public、protected、var このクラス内: private、protected、public、var これら 3 つのキーワードを使用しない場合は、var キーワードも使用できます。ただし、var を権限修飾子と一緒に使用することはできません。 var で定義された変数はサブクラス内でアクセスできますが、クラスの外からもアクセスできます。これは public と同等です。 クラスの前に追加できるのは、final と abstract のみです。 アクセス修飾子 ( が必要です) private, protected, public, var) 、メソッドの前: static、final、private、protected、public、abstract
68. 3 つのキーワード $this と self および親はそれぞれを代表しますか?どのような状況で使用されますか?
$this は現在のオブジェクト、self は現在のクラス、parent は現在のクラスの親クラス、$this は現在のクラスで使用されます。呼び出しには -> を使用します。プロパティとメソッド。 self も現在のクラスで使用されていますが、:: を使用して呼び出す必要があります。親はクラスで使用されます。
69. クラス内で定数を定義する方法、クラス内で定数を呼び出す方法、クラス外で定数を呼び出す方法。
クラス内の定数もメンバー定数です。定数は変化しない量であり、定数値です。 定数を定義するには、キーワード const を使用します。例: const PI = 3.1415326; 定数へのアクセスは、クラス内でも変数へのアクセスとは異なります。