1. 変数を定義するには?変数が定義されているかどうかを確認するにはどうすればよいですか?変数を削除するにはどうすればよいですか?変数が設定されているかどうかを確認するにはどうすればよいですか?可変変数とは何ですか?
変数の変数名を動的に設定して使用できます。
$a = 'hello'、$$a = 'world'、${$a}=hello world
3. 変数の割り当て方法にはどのようなものがありますか?
1) 直接代入 2) 変数間の代入 3) 参照代入
4. 参照とコピーの違いは何ですか?
コピーとは、元の変数の内容をコピーすることであり、コピーされた変数と元の変数は独自のメモリを使用し、相互に干渉しません。 参照とは、実際には、同じ変数の内容にアクセスするために異なる名前を使用することを意味します。 1 つの変数の値を変更すると、もう一方の変数の値も変更されます。
5. PHP の変数の基本的なデータ型は何ですか?
PHP は、次の 8 つのプリミティブ データ型をサポートします。
4 つのスカラー型 (ブール、整数、浮動小数点数/倍精度、文字列) 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==偽? $a==''?
$a==NULL ですか? $a===NULL ですか?答え: echo=>Nothing、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 (文字列変数, 整数);
intval
スカラーは 1 つのデータのみを保存できますが、配列は複数のデータを保存できます。
10. 定数はどのように定義されていますか?定数の値にはどのようなデータ型を使用できますか? ) Define () // 定数を定義, definEd () // 定数の値を定義する定数がデータ型のみであるかどうかを確認します。
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 サイト名、Web サイトのキーワード、その他の情報などの Web サイトの公開情報。
16. 関数の利点は何ですか?
プログラムの保守性の向上 ソフトウェアの信頼性の向上 プログラムの再利用性の向上 プログラムの開発効率の向上
17. 関数を定義するには?関数名は大文字と小文字を区別しますか? 1) function キーワードを使用します。
2) 関数の命名規則は変数と同じで、数字ではなく文字またはアンダースコアで始まります。
3) 関数名は大文字と小文字を区別しません。 used 宣言された関数名またはシステム構築された関数名。
18. 変数の可視性または変数のスコープとは何ですか?
プログラム内の変数のスコープです。変数の可視性に従って、変数はローカル変数とグローバル変数に分類されます。
19. ローカル変数とグローバル変数とは何ですか?グローバル変数は関数内で直接呼び出すことができますか?
ローカル変数は関数内で定義された変数であり、そのスコープはそれらが配置されている関数です。関数の外にローカル変数と同じ名前の変数がある場合、プログラムはそれらをまったく異なる 2 つの変数であると認識します。関数を終了すると、ローカル変数も同時にクリアされます。グローバル変数は、すべての関数の外側で定義された変数です。そのスコープは php ファイル全体ですが、ユーザー定義関数の内部では使用できません。ユーザー定義関数内でグローバル変数を使用する必要がある場合は、global キーワード宣言を使用する必要があります。つまり、関数内の変数の前に golbal を追加すると、関数内でグローバル変数にアクセスでき、このグローバル変数を使用して操作を実行できるだけでなく、グローバル変数を再割り当てすることもできます。グローバル変数は、$GLOBALS['var'] を使用して呼び出すこともできます。
21. 静的変数とは何ですか?
関数内で定義された変数が、その前にキーワード static を付けて宣言されている場合、その変数は静的変数です。
通常、関数呼び出しが終了すると、関数内の変数に格納されたデータはクリアされ、占有されていたメモリ空間は解放されます。静的変数を使用する場合、関数が初めて呼び出されたときに変数は初期化され、関数が再度呼び出されたときに変数はクリアされませんが、静的変数は初期化されずに保存できます。 the last 関数実行後の値。静的変数は関数のすべての呼び出し間で共有されると言えます。
22. PHPで関数にパラメータを渡すにはどのような方法がありますか?両者の違いは何ですか?地址 値渡しと値渡し(または参照渡し)
(1) 値渡し: 関数に渡す変数は別の空間に格納されます。したがって、関数本体内の変数値を変更しても、元の変数値には影響しません。 (2) アドレスで渡す: & 記号を使用して、パラメータがアドレスで渡されることを示します。メインプログラム内の指定値や対象変数を関数に渡すのではなく、値や変数のメモリ格納ブロックアドレスを関数にインポートするため、関数本体内の変数とメインプログラム内の変数は同じになります。記憶は同じです。関数本体に加えられた変更は、関数本体の外側の変数の値に直接影響します。
23. 再帰関数とは何ですか?再帰呼び出しを行うにはどうすればよいですか?
無限ループが発生します。
例: 际 际は実際の作業でフォルダーを横断するときによく使用されます。 folderフォルダーがないまで、これはすべてのファイルが通過したことを意味します。
24. 関数が存在するかどうかを確認しますか?
Function_exists( string $function_name ) 存在する場合は true を返し、存在しない場合は false を返します。
25. func() と @func() の違いは何ですか?
2 番目の関数呼び出しが失敗した場合、エラーは報告されませんが、最初の関数呼び出しではエラーが報告されます
26. include() 関数と require() 関数の使用法と違いは何ですか? include_once() と require_once() についてはどうですか? E CludeとRequireではエラー発生後のエラーレベルが異なります
Include_ONCE()とRequire_once()はロード前にインポート済みかどうかを判断する必要があります
27。先前++は、最初に変数1を増やしてから、その値を元の変数に代入します。後++は、最初に変数の現在値を返し、次に変数の現在値を1増やします。
28.28 . 文字列演算子「.」と算術演算子「+」の違いは何ですか?
「a」と「b」の間に「.」が使用されている場合は、ハイフンとみなされます。 2 つの間に + がある場合、PHP はそれを操作とみなします。
1) + 記号の両側の文字列が数字で構成されている場合、文字列は自動的に整数に変換されます。 2) + 記号の両側の文字列が純粋な文字の場合は、0 が出力されます。 3) + 記号の両側の文字列が数字で始まる場合、文字列の先頭の数字をインターセプトして演算します。
29. 三項演算子とは何ですか?
--- 全部まとめて。
例: ($a==true) ? 'good':'bad';
30. 制御フロー ステートメントとは何ですか?
1: 3 つのプログラム構造 シーケンシャル構造、分岐構造、ループ構造
2: 分岐: if/esle/esleif/ switch/case/default 3: switch 注意すべき点:
case 節の定数は、整数型、文字列定数、または定数式の変数は使用できません。 T 同じ Switch 句内で、ケースの値を同じにすることはできません。そうでない場合は、最初のケースの値のみを取得できます。 4: while do...while のループ
- アウト - スルー - ループスルー -
while と do...while の違い
5: Break と continue の違い。 Break はループを終了できます。 using using with using use using through through through through out using ’s ’ through ’ s ’ through ‐ ‐ ‐‐ ‐‐ ‐ i続ける
31. 配列の概念とは何ですか?インデックスに基づく 2 種類の配列とは何ですか?また、それらを区別する方法は何ですか?配列に値を代入する 2 つの方法は何ですか?配列は、一連の値または一連の値を格納できる変数 (複合変数) のうち、2 つですか?
配列を宣言するには主に 2 つの方法があります。
1. array() 関数を使用して配列を宣言します。
key=>value を使用してインデックスと値を個別に定義することも、配列のインデックス添字を定義せずに配列の要素値のみを指定することもできます。
2. array()関数を呼び出さずに、配列要素に値を直接代入します。例:
$arr[0] = 1; $arr[1] = 2;
例: $array[3] と $array['3'] は同じ要素を参照しますが、$array['03'] は別の要素を参照します。
32. 配列を走査するには?
①for ループ ②foreach ループ、これは最も一般的に使用される走査方法です。使い方は以下の通りです: foreach($arr as $key=>$value){}
③list eachとwhileを組み合わせてloop
33 とすると、ポインタはどのように指すのでしょうか?
list()/each()/while() で配列をループするとき、ポインタはどのように指すのでしょうか?
foreach の実行が開始されると、配列内のポインターは自動的に最初のユニットを指します。 foreach は配列自体ではなく、指定された配列のコピーを操作するためです。配列を each() した後、配列ポインタは配列内の次のユニットに留まるか、配列の終わりに達すると最後のユニットに留まります。 each() を使用して配列を再度走査したい場合は、reset() を使用する必要があります。 Reset() は、配列の内部ポインタを最初のユニットに巻き戻し、最初の配列ユニットの値を返します。
34. 配列の長さを計算する (または配列内のすべての要素の数を数える) 方法は?文字列の長さを取得するにはどうすればよいですか?
Count() -- 配列内の要素の数をカウントします。
count (配列名) または count (配列名, 1) を使用できます。2 番目のパラメーターがあり、それが数値 1 である場合、配列要素の数を再帰的にカウントすることを意味します。 2 番目のパラメーターが数値 0 の場合、パラメーターが 1 つだけある count() 関数と同等です。
35. 配列に関連する一般的な関数は何ですか?
1) count -- (sizeof alias) - 配列内のセルの数またはオブジェクト内の属性の数を計算します
use using using ' ‐ ‐ ‐ ‐ ‐count-count (sizeof のエイリアス) - をカウントします。配列内のセルの数、またはオブジェクト内の属性の数 他のすべてのタイプには、単位が 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 つの配列の値を前の配列に追加します。結果の配列を返します。 特別注意:入力配列に同じ文字列キー名がある場合、キー名の後の値は前の値を上書きします。ただし、配列に数値キーが含まれている場合、後続の値は元の値を上書きせず、追加されます。
「」 ’ s ’ through ’ using using using through ‐ ‐ ‐ ‐ ‐ ‐ to (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() を使用します。連想配列のマージの場合、配列のキー名が同じ場合、数値インデックス配列のマージの場合は、後者の値が前者の値を上書きします。上書きされませんが、後者は前者の後ろに追加されます。 "+"->配列の加算演算を使用します。 array_merge() とは異なり、加算演算は、連想配列であっても数値インデックス配列であっても、同じキー名の値のみを破棄します。キー名が最初に出現する要素を保持し、同じキー名を持つ後続の要素は追加されません。
37. 文字列を定義するときの一重引用符と二重引用符の違いは何ですか?
一重引用符は二重引用符よりも速く読み込まれます
38. echo()、print()、print_r() の違いは何ですか?
(1) echo は構文です。1 つ以上の文字列を出力します。戻り値はありません。
(2) print は関数です。配列とオブジェクトを出力できません。文字列を出力します。print には戻り値があります。
(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. 文字列の先頭と末尾のスペースを削除する関数:trim 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 = “gaofei@163.com”; このメールボックス (163.com) のドメインを取り出して、何語まで入力できるかを確認してください。せいぜいメソッドで書かれていますか?
echo strstr($mail,'163');
echo substr(($mail,7); echo strstr($mail,'163'); 文字列、文字列は「123, 234, 345,」です。この文字列の最後のカンマを切り取るにはどうすればよいですか?
6) 乱数を取得する関数は何ですか? mt_rand() と rand() ではどちらの実行速度が速いでしょうか?
41. ページの文字化けを解決するにはどうすればよいですか?
1. まず、現在のファイルに文字セットが設定されているかどうかを検討します。 charset がメタタグに記述されているかどうかを確認します。PHP ページの場合は、header() 関数で charset が指定されているかどうかも確認できます。 例:
http-equiv="Content-Type" content=" text; /html; charset=utf-8" />
header("content-type: text/html; charset=utf-8");
2. 文字セット (つまり、charset) が設定されている場合は、次のことを決定します。ファイルに保存されているエンコーディング形式がページに設定された文字セットと一致するかどうかは、2つは統合する必要があります。
42. 正規表現とは何ですか? PHP の正規表現に関連してよく使用される関数は何ですか?電子メール、中国の携帯電話番号、固定電話番号の正規表現を書いてください。
正規表現は、文字の配置パターンを記述するために使用される文法規則です。正規表現はパターン式とも呼ばれます。
ウェブサイト開発における正規表現は、フォーム送信情報の前にクライアント側で検証するために最も一般的に使用されます。
ユーザー名が正しく入力されているかどうか、パスワードが入力されているかどうかを確認します要件を満たしているか、電子メール、携帯電話番号などの情報の入力が合法であるかどうか。
preg シリーズの関数で対応できます。具体的なものは次のとおりです。L Preg_replace - 実行の正規表現を検索・置換
混合 preg_replace (混合パターン、混合置換、混合主語 [, int Limit]
preg_replace_callBack - 返信文字を返信文字で使用。番号の正規表現を検索・置換
mixed preg_replace_callback (Mixed Pattern , callback callback,mixed subject [, int Limit])
preg_split - 正規表現セグメンテーション文字列を使用します
Array Preg_Split (String Pattern, String Subject [, Int Limit [, Int FL AGS]]) の一般的に使用される正規表現の書き方:
use using using using out out out through out ’’s’ ‐ ‐‐‐‐‐‐‐‐‐‐ off は @[w-]+ として記述します。{1}[A -ざ-z]{2,5}$/
パスワード (中セキュリティ レベル):
/^(d+[A-Za-z]w*|[A- Za-z]+dw*)$/
パスワード (高セキュリティ レベル):
/^(d+[a-zA-Z~!@#$%^&(){}][w~!@#$% ^&(){}]*|[a-zA- Z~!@#$%^&(){}]+d[w~!@#$%^&(){}]*)$/
44. preg_replace() の使用の違いは何ですか?と str_ireplace()? preg_split() と split() 関数の使い方
preg_replace - 正規表現の検索と置換を実行する
str_ireplace() を無視する Str_replace のブロックライト バージョン —— 部分文字列の置換
Preg_Split - 正規表現を使用する文字列を分割する式
Split — 正規表現を使用して文字列を配列
45 に分割します。 現在のタイムスタンプを 2010-12-10 22 の形式で出力します。 21:21?
PHP を使用して、前日の時刻を 2010-12-10 22:21:21 の形式で出力しますか? 2010-12-25 10:30:25 を UNIX タイムスタンプに変換するにはどうすればよいですか? E Echo date 9-2 10:30:25");//UNIX タイムスタンプに変更します
echo date("Y-m-d H:i:s",$unix_time);///通常の時刻形式にフォーマットします
46。 url で get を使用して値を転送するときに、中国語が文字化けして表示される場合、どの関数を使用して中国語をエンコードする必要がありますか?
ユーザーが Web サイトのフォームでデータを送信する場合、スクリプト攻撃 (たとえば、ユーザーが <script>alert (111); </script> と入力するなど) を防ぐために、データを受け取ったときに PHP 側でデータをどのように処理する必要がありますかそれ?
中国語をエンコードするには urlencode() を使用し、デコードするには urldecode() を使用します。
htmlspecialchars($_POST[‘title’]) を使用してフォームパラメータをフィルタリングし、スクリプト攻撃を回避します。
48. mysql_fetch_row()、mysql_fetch_assoc()、mysql_fetch_array の違いは何ですか?
最初のものは結果セット内の行をインデックス配列として返し、2 つ目は連想配列を返し、3 つ目は 2 番目のパラメータに応じてインデックス配列または連想配列を返すことができます。 mysql_both
$ SQL = "select * from table1";
$ Result = MySQL_QURY ($ SQL);
49 の関数ですか?
答え: fopen (ファイルを開く) imagecreatefromjpeg(png gif) — JPEG ファイルから新しい画像を作成します
Imagecreatetruecolor — トゥルーカラー画像を作成します
Imagecopymer ge — 画像の一部をコピーして結合します
imagecopyresize — 画像の一部をコピーします画像とサイズ変更
mysql_connect - mysqlサーバーへの接続を開きますmysql_query(); ファイルの読み取りと書き込みの機能は何ですか?ファイルを削除するにはどの機能が使用されますか?
ファイルが存在するかどうかを判断するために使用される関数はどれですか?新しいディレクトリを作成するにはどの関数が使用されますか?
51. ファイルをアップロードする際に注意すべき点は何ですか?指定したディレクトリにファイルを保存するにはどうすればよいですか?重複した名前のファイルをアップロードする問題を回避するにはどうすればよいですか?
1. まず、php.ini でファイルのアップロードを有効にする必要があります。
2. php.ini にはアップロードできる最大値があり、デフォルトは 2MB です。必要に応じて変更できます。 3. フォームをアップロードするときは、必ず enctype="multipart/form-data" を form タグに記述してください。 4. 送信方法は post である必要があります。 5. type= を設定します。 file " form control;
6. アップロードしたファイルのサイズ MAX_FILE_SIZE、ファイルの種類が要件を満たしているか、アップロード後に保存されるパスが存在するかに注意してください。 アップロードされたファイル名からファイル接尾辞を取得し、タイムスタンプとファイル接尾辞を使用してファイルの名前を変更することで、名前の重複を避けることができます。アップロードしたファイルの保存ディレクトリを自分で設定し、それをファイル名と組み合わせてファイル パスを形成し、指定したディレクトリにファイルを保存できます。
52. $_FILES は何次元ですか? 1 番目と 2 番目の次元のインデックス添字は何ですか?ファイルを一括アップロードする場合は何に注意すればよいですか?
2次元配列。最初の次元はアップロード コントロールの名前で、2 次元の添字は name/type/tmp_name/size/error.
53 header() 関数の主な機能は何ですか?使用時に注意すべき点は何ですか?
答え:
header() は http ヘッダー情報を送信します
-header("content-type:text/html; charset=utf-8");---------------- - -//現在のページの出力コンテンツは、utf-8 形式でエンコードされた html です
-
-header ("コンテンツ タイプ:画像/png gif jpeg");--------------------------------- // 現在のページの出力コンテンツの形式は画像です
-header("refresh:5;url=http://www.1004javag.com/five/string.php");--//ページ5 秒後に新しいページにジャンプします URL
-header("location:http://1004javag.com/five/string.php");----------//ページ リダイレクト
54ファイルをダウンロードするときに使用する場合は header() 関数ですか?
答え: 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.$ファイル名);
55.ajax とは何ですか? ajaxの原理は何ですか? ajaxのコアテクノロジーは何ですか? ajaxの長所と短所は何ですか?
Ajaxとは、asynchronous javascriptとxmlの略で、javascript、xml、css、DOMなどの複数の技術を組み合わせたものです。 「$」は jQuery のエイリアスです
ページ内のユーザーのリクエストは、ajax エンジンを介してサーバーと非同期に通信します
最後に、ajax エンジンが返されたデータを表示することを決定します。 . ページ上の指定された場所。 Ajax では、ついに、別のページのすべての出力コンテンツを 1 つのページ上の指定された場所にロードできるようになりました。
このようにして、静的ページもデータベースから返されたデータ情報を取得できます。したがって、ajax テクノロジーを使用すると、ページ全体を更新せずに静的 Web ページがサーバーと通信できるようになり、ユーザーの待ち時間が短縮され、ネットワーク トラフィックが軽減され、顧客エクスペリエンスの使いやすさが向上します。
Ajax の利点は次のとおりです: 1. サーバーの負担を軽減し、これまでサーバーが負担していた作業の一部をクライアントに転送して実行し、クライアントのアイドル リソースを処理に使用します。 2. 更新します。ページを部分的に更新するだけなので、ページの応答速度が向上し、ユーザー エクスペリエンスがより使いやすくなります。
Ajax の欠点は、検索エンジンが Ajax によって要求されたコンテンツに直接アクセスできないため、SEO の促進や最適化に役立たないことです。
ajax のコアテクノロジーは、JavaScript のオブジェクトである XMLHttpRequest です。
56. jQueryとは何ですか? jqueryでajaxを簡素化する方法は何ですか?
jQuery は Javascript のフレームワークです。
$.get()、$.post()、$.ajax()。 $ は jQuery オブジェクトのエイリアスです。
コードは次のとおりです:
$.post (非同期アクセス用の URL アドレス, {'パラメータ名': パラメータ値}, function(msg){
$("#result").html(msg);
} );
$("#result").html(msg ;
簡単に言えば、セッション制御はユーザー情報を追跡および識別するためのメカニズムです。セッション制御の考え方は、Web サイト内の変数を追跡することで、システムがこのユーザー情報に基づいて対応するユーザー情報を識別し、ユーザーの権限を表示できるようにすることです。ユーザーの対応する権限に適したページコンテンツ。現在、最も重要なセッション追跡方法には、Cookie とセッションが含まれます。
58. セッション追跡の基本手順
1)。現在のリクエストに関連するセッション オブジェクトにアクセスします 2)。会話に関連する情報を見つけます
3)。セッション情報を保存します 4)。セッションデータを破棄します
59. Cookieを使用する際の注意点は何ですか?
1) setcookie() の前には、スペースや空白行も含めてページ出力を行うことはできません。
2) setcookie() の後に、現在のページで $_COOKIE['cookiename'] を呼び出しても出力は生成されないため、更新する必要があります。または、次のページに移動するまで Cookie の値を確認できません。
3) ブラウザーによって Cookie の処理方法が異なります。また、ブラウザーは最大 300 個の Cookie を作成できます。 Cookie はそれぞれ 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. セッションを使用する: セッションが空であるか登録済みであるかを判断し、すでに存在する場合は通常の配列と同様に使用します。
1. unset を使用すると、単一のセッションを削除できます。セッションを破棄します。
クッキーの使用方法?访 1. ユーザーがアクセスした情報の一部を記録します。 2. ページ間で変数を送信します。
3. インターネット ページを保存して、閲覧ページを Cookie 一時フォルダーに保存します。これにより、将来の閲覧速度が向上します。 create cookie:setcookie(string cookiename、string value、int expire);
。
2.setcookie() メソッド:
Cookie の設定と同じですが、今回は Cookie の値は空に設定され、有効時間は 0 以下のタイムスタンプになります。
62. Cookie の名前をユーザー名に設定し、値を jack に設定し、Cookie を 1 週間後に期限切れにする方法は?
ブラウザは最大でいくつの Cookie を生成できますか?また、各 Cookie ファイルの最大サイズはどれくらいですか? K SetCookie ('Username', 'Jack', Time ()+7*24*3600);
最大 20 個の Cookie を生成でき、それぞれ最大 4K
え?
php.ini で session.auto_start = 1 を直接オンにするか、ページの先頭で session_start() を使用できます。 session_start() の前に空白行を含む出力がないはずです。
64. 実際の開発では、セッションはどこで使用されますか?
セッションは、ユーザーのログイン情報を保存し、ページ間で値を転送するために使用されます。
1) ユーザーが正常にログインした後、ユーザーのログイン情報をセッションに割り当てるためによく使用されます。 2) ランダム コードが生成されてセッションに割り当てられるときに、検証コード イメージの生成で使用されます。
65. セッションからログアウトするにはどのような方法がありますか? (Unset() $ _Session = Array(); session_destroy();
66. OOP とは何ですか? クラスとオブジェクトとは何ですか?クラス属性とは何ですか?
OOP (オブジェクト指向プログラミング)。最も重要な 2 つの概念はクラスとオブジェクトです。
世界のあらゆるものには独自の属性と方法があり、さまざまな物質はこれらの属性と方法によって区別できます。一連の属性とメソッドがクラスを形成します。クラスはオブジェクト指向プログラミングの核心であり、基礎です。クラスを通じて、関数を実現するコードによって分散されたコードが効率的に管理されます。クラスは特定の機能と属性を備えた単なる抽象モデルですが、実際のアプリケーションではエンティティを 1 つずつ必要とします。つまり、クラスをインスタンス化する必要があり、インスタンス化後のクラスはオブジェクトになります。 ★クラスはオブジェクトの抽象概念であり、オブジェクトはクラスのインスタンス化です。
オブジェクトは高度な配列であり、配列は最も基本的なオブジェクトでもあり、外部と接続するための一部のインターフェイスとメソッドのみを保持するか、開発者が使用できるように一部のメソッドを公開するだけで、同じオブジェクトをトラバースすることもできます。したがって、開発者は、その特定の実装プロセスではなく、このクラスの使用方法にのみ注意を払う必要があります。これにより、MVC の分業と連携が実現され、プログラム間の相互依存が効果的に回避され、コード モジュール間の疎結合が実現されます。
2. 継承: サブクラスは親クラスの属性とメソッドを自動的に継承し、新しい属性やメソッドを追加したり、一部の属性やメソッドを書き換えたりできます。継承によりコードの再利用性が向上します。 PHP は単一継承のみをサポートします。つまり、サブクラスは親クラスを 1 つだけ持つことができます。
3. ポリモーフィズム: サブクラスは親クラスからプロパティとメソッドを継承し、一部のメソッドを書き換えます。したがって、複数のサブクラスが同じメソッドを持っていても、これらのサブクラスによってインスタンス化されたオブジェクトは、これらの同じメソッドを呼び出した後にまったく異なる結果を取得する可能性があります。このテクノロジはポリモーフィズムです。ポリモーフィズムによりソフトウェアの柔軟性が向上します。
OOP の利点: 1. コードの再利用性が高い (コードの節約) 2. プログラムの保守性が高い (拡張性) 3. 柔軟性
67. よく使用される属性のアクセス修飾子は何ですか?どういう意味でしょうか?
プライベート、保護、パブリック。 L クラス: PUBLIC、VAR
サブクラス: PUBLIC、ProteCted、VAR
このクラス: Private、ProteCTED、PUBLIC、VAR
これら 3 つのキーワードを使用しない場合は、VAR キーワードも使用できます。ただし、var を権限修飾子と一緒に使用することはできません。 var で定義された変数はサブクラス内でアクセスできますが、クラス外からもアクセスできます。これは var を使用した public
サブクラスから var にアクセスできます
メソッドの前: static、final、private、protected、public , 要約
68. $this と self とparent の 3 つのキーワードはそれぞれ何を表しますか?どのような状況で使用されますか?現在 $ this current object Self current class Parent current class は親クラス
$ this が現在のクラスで使用し、属性とメソッドを呼び出します。 Self は現在のクラスでも使用されていますが、:: を使用して呼び出す必要があります。親はクラスで使用されます。
69. クラス内で定数を定義する方法、クラス内で定数を呼び出す方法、クラス外で定数を呼び出す方法。
クラス内の定数もメンバ定数です 定数とは、変化しない量であり、一定の値です。
キーワード const とスコープ演算子記号 (二重コロン) を使用して呼び出します。 つまり: クラス名 :: クラス定数名
70 の使用方法。どのような状況で使用されますか?
静的を呼び出すメソッド
71. 魔法のメソッドとは何ですか?よく使われる魔法の方法にはどのようなものがありますか?
__ で始まるシステムカスタマイズされたメソッド。 __construct() __destruct() __autoload() __call() __tostring()
72. 構築メソッドとデストラクターメソッドとは何ですか?
コンストラクター メソッドは、オブジェクトをインスタンス化するときに自動的に実行されるメンバー メソッドです。その機能はオブジェクトを初期化することです。 php5 より前では、クラスとまったく同じ名前のメソッドがコンストラクター メソッドでした。php5 以降では、マジック メソッド __construct() がコンストラクター メソッドになりました。クラスにコンストラクターが定義されていない場合、PHP は自動的にコンストラクターを生成します。この自動生成されたコンストラクターにはパラメーターも操作もありません。
コンストラクターメソッドの形式は次のとおりです:
を使用して を使用して を使用して を介して を使用して を介して を使用して
に代わってベース デストラクター メソッドの機能は、構築メソッドの機能とはまったく逆で、オブジェクトが破棄されるときに自動的に呼び出され、その機能はメモリを解放することです。义 構造体メソッドの定義方法は、 __Destruct();
PHP にはガベージリカバリ機構があるため、使用されていないオブジェクトを自動的に削除し、メモリを解放することができます。通常、破壊メソッドは手動で作成できます。
73. __autoload() メソッドはどのように機能しますか?
このマジック関数を使用するための基本的な条件は、クラスファイルのファイル名がクラスの名前と一致している必要があることです。
あるクラスをインスタンス化するプログラムを実行する際、インスタンス化前にクラスファイルが導入されていないと、__autoload()関数が自動的に実行されます。この関数は、インスタンス化されたクラスの名前に基づいて、このクラス ファイルのパスを検索し、このクラス ファイルのパスにこのクラス ファイルが存在すると判断した場合、クラスをロードするか include を実行します。このパスが存在しない場合、プログラムは実行を続けます。エラーが表示されます。自動ロード マジック関数を使用すると、多くの include 関数や require 関数を記述する必要がなくなります。
74. 抽象クラスとインターフェイスとは何ですか?抽象クラスとインターフェイスの違いと類似点は何ですか? 抽象クラスはインスタンス化できず、他のクラスの親クラスとしてのみ使用できるクラスです。
抽象クラスは、キーワード abstract を通じて宣言されます。抽象は通常のカテゴリに似ており、どちらもメンバー変数とメンバー メソッドを含みます。
抽象クラス内の少なくとも 1 つの抽象メソッドには、本質的にメソッド本体がありません。
抽象メソッドの形式は次のとおりです: abstract function abstractMethod();
PHP は単一継承のみをサポートするため、複数の継承を実装したい場合はインターフェイスを使用する必要があります。つまり、サブクラスは複数のインターフェイスを実装できます。インターフェイス クラスは、interface キーワードによって宣言されます。インターフェイス クラス内のメンバー変数とメソッドは public キーワードを記述する必要はなく、インターフェイス内のメソッドにはメソッド本体がありません。インターフェイス内のメソッドも、本質的にはサブクラスによって実装されることを目的としています。抽象クラスとインターフェイスによって実装される関数は非常に似ています。最大の違いは、インターフェイスが多重継承を実装できることです。アプリケーション内の抽象クラスとインターフェイスのどちらを選択するかは、特定の実装によって異なります。サブクラスはextendsを使用して抽象クラスを継承し、サブクラスはimplementsを使用してインターフェイスを実装します。
抽象クラスには少なくとも 1 つの抽象メソッドがありますか? ? ? ? ? ?答え: クラスが抽象クラスとして宣言されている場合、クラス内に抽象メソッドが存在することはできません。 __call のパラメーターがいくつか必要です。
マジックメソッド __call() の機能は、プログラムが存在しない、または目に見えないメンバーメソッドを呼び出すと、PHP はまず __call() メソッドを呼び出し、存在しないメソッドのメソッド名とパラメーターを保存します。
最初のパラメータは、存在しないメソッドのメソッド名であり、文字列型です。
__call() メソッドは、デバッグとエラーの特定に重点が置かれていると思います。同時に例外をキャッチすることができ、メソッドが存在しない場合は他の代替メソッドが実行されます。
76. Smarty テンプレート技術の用途は何ですか?
php と html を分離することで、アーティストとプログラマーは互いに干渉することなくそれぞれの業務を実行できます。
77. Smarty の主な構成は何ですか?
1. Smarty.class.php を導入します。 2. Smarty オブジェクトをインスタンス化します。 3. デフォルトのテンプレート パスを再変更します。
4. デフォルトのコンパイル済みファイル パスを再変更します。設定 ファイルのパス
6. デフォルトのキャッシュ パスを再変更します。
7. キャッシュを有効にするかどうかを設定できます。 8. 左右の区切り文字を設定できます。
78. Smarty を使用する際に注意する必要がある詳細は何ですか?
Smarty は MVC の概念に基づいたテンプレート エンジンで、ページ プログラムをビュー層とコントロール層の 2 つの部分に分割します。つまり、Smarty テクノロジーはユーザー UI を PHP コードから分離します。このようにして、プログラマーとアーティストは、互いに干渉することなくそれぞれの業務を実行します。
Smarty を使用する場合は、次の問題に注意する必要があります。
1. Smarty を正しく設定します。主に、smarty オブジェクトをインスタンス化し、smarty テンプレート ファイルのパスを設定する必要があります。 2. 割り当てと表示を使用して、PHP ページにページを表示します。 3. Smarty テンプレート ファイルでは、PHP コード スニペットは許可されません。コメント、変数、関数は区切り文字の中に含めることができます。 ️ A. それは何ですか?各レベルの主なタスクは何ですか?
MVC (Model-View-Controller) は、ソフトウェア設計パターンまたはプログラミングのアイデアです。
MはModelモデル層、VはViewビュー層(表示層またはユーザーインターフェース)、CはControllerコントローラー層を指します。
mvc を使用する目的は、M と V を分離して、1 つのプログラムで異なるユーザー インターフェイスを簡単に使用できるようにすることです。
Web サイト開発では、通常、モデル層はデータベーステーブル情報の追加、削除、変更、確認を担当します。ビュー層はページコンテンツの表示を担当します。コントローラー層は M と V の間の制御の役割を果たします。どのモデルを呼び出すか? クラスのどのメソッドを呼び出すか? 実行後、コントローラー層が結果をどのビュー層に割り当てるかを決定します。
81. Java言語におけるメソッドの書き換えとオーバーロードは何を意味しますか?正確に言うと、PHP はメソッドのオーバーロードをサポートしていますか?多くの参考書で言及されている PHP のオーバーロードを実際に正しく理解するにはどうすればよいでしょうか?
答え:
PHP はメソッドのオーバーロードをサポートしていません。多くの本で言及されている PHP の「オーバーロード」は「上書き」であるはずです
82。final キーワードはクラス内のメンバー属性を定義できますか?
答え: いいえ、クラスのメンバー属性は public、private、protected、var
83 でのみ定義できます。final キーワードで定義されたクラスは継承できますか? L 回答: FINAL で定義されたクラスは継承できません
84. 静的キーワードの使用について話します。静的は授業前に使用できますか?
static は public、protected、private と併用できますか?コンストラクターを静的にすることはできますか? rysed staticを使用して使用できます。抽象クラスはインスタンス化できますか?
回答: インターフェイスも抽象クラスもインスタンス化できません
86 アクセス修飾子をクラスの前に追加できますか?追加できる場合、どのアクセス修飾子を追加できますか?権限アクセス修飾子は public、protected、private のいずれかでしょうか?
回答:final と static はクラスの前に追加できますが、
★クラスの前に public、protected、private を追加することはできません
87 クラス内の属性の前にアクセス修飾子を追加することはできません。メンバー変数の前の修飾子は、public、protected、または private のみにすることができますか?他にどれが考えられますか?
答え: クラスの属性には、これら 3 つの修飾子に加えて、var
88 を追加することもできます。配列をエコーすると、ページは何を出力しますか?オブジェクトをエコーする場合はどうでしょうか?配列やオブジェクトを出力する場合はどうすればよいでしょうか?
A: ページは「配列」のみを出力できます。オブジェクトをエコーすると、「キャッチ可能な致命的なエラー: クラス t2 のオブジェクトが 33 行目の G:php2t2.php の文字列に変換できませんでした」が表示されます
次の場合にのみ出力されます。配列「Array」を印刷すると、オブジェクトを印刷すると「Catchable Fatal error: Object of class t2 Could not be Converted to string in G:php2t2.php」と表示されます。▲Printとechoは同じです。 __tostring() マジックメソッドはいつ自動的に実行されますか?
__tostring() マジック メソッドは戻り値を返す必要がありますか? オブジェクトをエコーまたは出力すると、自動的にトリガーされます。そして __tostring() は値
90 を返さなければなりません。抽象メソッドとは何ですか?
答え: メソッドの前に abstract があり、メソッドにはメソッド本体がなく、「{ }」さえありません
91 クラス内のメソッドが抽象メソッドであり、クラスが次のように定義されていない場合。抽象クラスの場合、エラーが報告されますか?
答え: はい、「致命的なエラー: クラス t2 には 1 つの抽象メソッドが含まれているため、抽象として宣言するか、残りのメソッド (t2::ee) を実装する必要があります。」
92 クラスが抽象クラスの場合、 class メソッドはすべて非抽象メソッドです。エラーが報告されますか?
答え: クラスが抽象クラスの場合、その中に抽象メソッドは存在しない可能性がありますが、クラス内に抽象メソッドであるメソッドが存在する場合、このクラスは抽象クラスである必要があります
94. 最後のキーワードの適用 何に注意すべきでしょうか?
Final キーワードを使用して定義されたクラスは継承が禁止されています。 final最終的なキーワードを使用して定義される方法と書き換えは禁止されています。
95. クラスが親クラスを継承して複数のインターフェースを実装したい場合、どのように記述すればよいでしょうか?
書き方は次のようになります: class MaleHuman extends Humanimplements Animal,Life { ... }
96. シングルポイントとは何ですか?
コントロールからアウトアウト。 ○ 単一ポイント入口にはいくつかの利点があります:
まず、一部のシステムのグローバル処理の変数、カテゴリ、およびメソッドをここで処理できます。たとえば、データの事前フィルタリングを実行する必要があり、セッション処理をシミュレートする必要があり、いくつかのグローバル変数を定義する必要があり、さらにいくつかのオブジェクトまたは変数をレジスタに登録する必要があります。第 2 に、プログラム構造がより明確になります。
97. PHP には 2 つの正規表現関数ライブラリが用意されていますが、どれですか?
(1) PCRE Perl 互換の正規表現 preg_ は接頭辞 (2) POSIX ポータブル オペレーティング システム インターフェイス ereg_ は接頭辞
98 正規表現の構成は何ですか?
アトム (英語の文字などの通常の文字)、 メタキャラクター (特別な機能を持つ文字) で構成されます
パターン修正文字 正規表現には少なくとも 1 つのアトムが含まれます
99 珍しいマジックメソッドのトリガータイミング ?
__isset() __unset() トリガーのタイミング オブジェクトのシリアル化時に __sleep()、__wakeup() が呼び出されます
オブジェクトのシリアル化時に __sleep() メソッドが記述されていない場合、すべてのメンバー属性がシリアル化されます。 __sleep() メソッドが定義されている場合、指定された配列内の変数のみがシリアル化されます。したがって、この機能は、完全に保存する必要のない非常に大きなオブジェクトがある場合にも役立ちます。 __sleep を使用する目的は、オブジェクトが持つデータベース接続を閉じたり、保留中のデータを送信したり、同様のクリーンアップ タスクを実行したりすることです。さらに、この機能は、完全に保存する必要のない非常に大きなオブジェクトがある場合に便利です。
__wakeup を使用する目的は、シリアル化中に失われた可能性のあるデータベース接続を再確立し、他の再初期化タスクを処理することです。