ホームページ  >  記事  >  バックエンド開発  >  PHPの基本的な質問と回答の知識の概要の共有

PHPの基本的な質問と回答の知識の概要の共有

小云云
小云云オリジナル
2018-02-28 09:05:156172ブラウズ

この記事では主に PHP の基本的な Q&A 知識の概要を説明します。お役に立てれば幸いです。

01. 出力が Mozilla/4.0 (互換性、MSIE5.01、WindowNT5.0) の場合、考えられる出力ステートメントは次のとおりです:

A. $_SERVER['HTTP_USER_AGENT_TYPE'];

B.$_SERVER['HTTP_USER_AGENT'];

C.$_SERVER['USER_AGENT'];

D.$_SERVER['AGENT'];

02. 次の機能は PHP では実現できません:

A. サーバー側のスクリプトの実行

B. コマンドライン スクリプトの実行

C. クライアントのグラフィカル インターフェイス (GUI) プログラム

D. のブラウザ側の実行DOM 操作

03. 次のステートメントは間違っています:

A.PHP には 4 つのスカラー型があります: boolean、integer、float、string

B. Float と double は同じ型です

C.インクルード: 配列、オブジェクト、リソース

D. 疑似タイプ: 混合、数値、コールバック

04. 次のコードを実行した後、

Echo function_exists('print');

?> ;

1. Function_exists は関数が存在するかどうかを判断し、true または false を返します

2. Print 自体は関数ではなく、言語構造です

3.

取得される出力は次のとおりです:

A. Empty

B.true

C.false

D.FALSE

05。PHP 構文の一部ではない次の関数です。

A .array

B.eval

C.each

D.list

Echoprint

06.次のコードを実行しますか? ? & Lt;? $ bool = true;

echo is_string ($ bool); C.booleanFALSE

*07次のコードを実行します。

08. 次のコードの実行結果はどうなるでしょうか? D."33+ 4+5";

09。次のコードは、次の関数を追加した後に TRUE を返します:

Return ?=='A';

A.ord(65)文字に、ASCII コード値を返します

B .chr(65)

ASCII コード値に従って、対応する文字を返します A==65 a==97

C.65+''

D.''+65

10. 以下のコード 正しい出力は次のとおりです:

$a=array(1=>5,5=>8,22,2=>) ;'8',81); Echo $a[7 | Empty

11. 次のコードの出力:

$a[bar]='hello';

Echo $a[bar];//hello

echo $a[' bar'];//hello

?>

A.hello B. 空 C. エラー

D.hellohello

* 12. 次のコードの結果を書き込みます:

Echo 1>>0; 0001

Echo 2> 0010 -> 0001

Echo 3<<2; -> 1100

?> ;

A.012 B.106

C.1112

D.123

13. echo と print は両方とも正しいです。複数のパラメータを出力します

B.print は複数のパラメータを出力できますが、echo は出力できません はい

C.echo

は複数のパラメータを出力できます

、print

いいえ

D.echo も print も複数のパラメータを出力できません

14. 次のコードの場合

? & Lt;? $fruits = Array ('Strawberry' = & GT; 'Red', 'Banana' = & GT; 'YELLOW'); & Gt; :

A.echo「バナナは{$fruits['banana']}」;

B.echo「バナナは$fruits['banana']」;

C.echo "Aバナナは{$fruits[バナナ]}";

D.echo "Aバナナは$fruits[バナナ]";

15.次のコードは完成しましたか?

Printchange();

Printchange();

>

12

16 $result 値は:

$srcArray=array('a','b','c ','d'); $randValue=array_rand($srcArray); $result=is_string($randValue);

? >

1.

何を返す?

2.

Is_string()戻り値A、a

B

falseC、trueb D、b

E、c

17.出力は何ですか? A. 3 B. false C. null

D :

< ;?php

$a='01';

$result =1;

}エルセイフ ($a =='1'){

$result=5;

} ?> A、1

B、2

C、3

D、4

E、 5

19. PHP 関数名は大文字と小文字を区別しますか?

A

、区別はありません

B. 区別

20. 次のコードの実行後の $result 値は次のようになります:

A. null

B. true

C

false D . 1

21. OP 設定モードでは、スクリプト全体でクラスをインスタンス化することができます。

A. MVC

B. プロキシモード

C. ステートモード

D. 抽象ファクトリーモード

E. シングルトンモード

22 .継承を使用して他のものを作成できます派生クラスクラスの。それでは、PHP では、サブクラスは最大でいくつの親クラスを継承できるのでしょうか?

A. 1

B. 2

C. システムリソースに依存します D. 3

E. いくつ欲しいですか?

23. 次のどれですか? type はカスタム エラー ハンドラーでキャッチできませんか? (二重選択) set_error_handler

A.E_WARNING

SE

D

E_NOTICE

24。次のコードを実行します。出力結果は Abstract class a{

Function __construct(){

Echo “a”; }

$a=new a( );

?>

A.A

B。致命的なエラーは、次のコードを実行します。エコー「エコークラス何か」;

c.エコークラス2 点

(A) $users[] = 'john';

(B) array_push($users, 'john');

(C)

$users||= 'john';

(D) array_unshift($users, 'john');

27. PHP では、'+' 演算子の関数には 2 つの点が含まれません A. 配列データMerge array(0=>1,1=>2)+array(2=>3,3=>4)

C. 変数データの追加

28. 次の式のうち、連結できないものはどれですか。 2 つの文字列 $s1 と $s2 を 1 つの文字列にまとめますか? ( )

A.$s1+$s2

B. “{$s1}{$s2}” C.$s1.$s2

D. implode('',array($s1,$s2)) E .上記の方法はすべて実現できます

29. 次のスクリプトを実行した後、$array 配列に含まれる値は何ですか? ( )

$array = array('1','1');

foreach($array as $k=>$v){

$v = 2;

}

A.array( '2','2')

B.array(

'

1

'

,'

1

'

)

C.array(2,2) D.array( Null、Null)

30. array_shift() 関数の機能は何ですか?

A 配列に要素を追加します

B 配列から要素を削除します C 配列のキーと値を交換しますarray_flip() D 配列をクリアします 空白 1. プログラムセグメント を実行すると ___0_ が出力されます。

*2. PHPをApacheモジュールとしてインストールするには、まずhttpd.confファイル内のstatement__を使用します

LoadModule php5_module"F:/wamp/php-5.2.6-win32/php5apache2_2.dll"

__PHPモジュールを動的にロードします。次に、ステートメント __

AddTypeapplication/x-httpd-php .php

__ を使用して、拡張子 php を持つすべてのファイルを Apache に PHP スクリプトとして処理させます。

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

serialize___ です。

4. __debug_backtrace___ 関数は、スクリプト内の任意の行で呼び出された関数の名前を返すことができます。この関数は、エラーがどのように発生したかを判断するためにデバッグでもよく使用されます。

5。 = 60; > ;”;

$c?

4

:5;

echo $a;

3.プログラム出力? 1 ポイント)

$num = 10;

multiply() {

$num 以下のPHPコードの実行結果を6点書いてください

$var1 = 5; $var2 = 10; functionfoo(&$my_var){

$var1 +=2; ;

$my_var += 3;

}

$ my_ var = 5; echofoo ($ my_var)。 N"; // 4

echo $ my_var. "N";

// /8

echo $var1."n";

//7

echo $var2 ."n";

//10

$bar = 'foo';

$ my_var = 10;

echo$bar($my_var) ."n";//4

5. 次のコードの出力を記述します。

function myfunc($argument){

echo $argunment + 10;

}

$variable =10;

echo “myfunc($variable )=”.myfunc($variable);

20myfunc(10)=

6. 次のプログラムの出力を書きます (5 点)

$test='aaaaaa';

$abc=&$test;

unset($test);

echo $abc;//aaaaaa

7. プログラムの実行結果を書き込みます

$a=0;

$b=0;

If($a=3||$b=3){

$a++;

//1,1

$a=0; $b=0;

If($a=(3|$b=3)){

$ a++;//3++

_______1,1__________,2._________4,4_____________

8 ,

using =>$val) {

何?説明してください。

質問 2: プログラムの実行後、変数 $data の値はいくらですか?説明してください。

質問と回答

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

mb_substr()

2. ユーザーの IP アドレスを出力し、ユーザーの IP アドレスが 192.168.1.100 --- 192.168.1.150 の間にあるかどうかを判断します (5 点)。

Ip2long("192.168.1.100") ip2long('192.168.1.150')

3. ファイル hello.txt のヘッダーに「Hello World」文字列を 1 行書き込み続けます。コードが必要です 完了 (10 ポイント)

$str = File_get_contents("hello.txt");

$str = "helloworld".$str;

File_put_contents("hello. txt" ,$str);

4. PHP の 3 つの配列ループ操作の構文を列挙し、それぞれのループの長所と短所を示してください。 5 点

の場合、 でのみループできます。連続した添字インデックス配列

Foreachはすべての配列をループできます

while iForに似ています

while (list ($ key, $ value) = Each ($ arr))

は可読性が悪く、効率が低いです

5 2007-2-5~2007-3-6 の日付の差など、2 つの日付の差を見つけます (5 ポイント)

(Strtotime('2007-3-6') -Strtotime("2007-) 2-5"))/(3600*24)

6. 名前の長さに応じて2次元配列を並べ替えて、idを1から順に割り当ててください。 (15 点)

$array = array(

array('id' => 0,'name' => '123'),

array('id' => 0,'name' = > '12345'),

array('id' => 0,'name' => '1234'),

array('id' => 0,'name' => '123abcd '),

array (' ID '= & gt; 0,' name '= & gt; 123456 '),

))

For ($ j = 0, $ c = countt ($array); $j<$c;$j++){

for($i=0;$i<$c-1-$j;$i++){

if (strlen($array [$i]['name'])>strlen($array[$i+1]['name'])){

;

y[$i+1] = $tmp;

}

$arr = array();foreach($Tarray as $k=>$v ){

$arr[$ k] = strlen($v['name']);

}natsort($arr);$ arr1 = array();$i = 0;foreach($arr as $k=>$v )

{

$arr1[$i]['id'] $arr1[$i ]['name'] =$Tarray[$k]['name']; $i++;}

8. PHP の error_reporting の機能とは何ですか? (1 点)

9. 取得したパラメータを含む、現在の実行スクリプトのパスを取得する方法を簡単に説明します。 (2 点)


$_SERVER['REQUEST_URI']





10. mysql_fetch_row() と mysql_fetch_array の違いは何ですか? (1 点)



Mysql_fetch_row()

インデックス配列を返す

Mysql_fetch_array()

インデックスと関連する配列を返します

11. GDライブラリは何に使用されますか? (1点)

画像を動的に生成します

12. PHPにおける値の受け渡しと参照の受け渡しの違いを説明してください。いつ値渡しするのか、いつ参照渡しするのか (2​​ 点)

値渡し: 値を 1 つの変数にのみ渡します

アドレス渡し: アドレスを変数に渡します。このとき、同時に同じアドレスを指す変数が 2 つあり、一方が変更されると、それに応じてもう一方も変更されます。

13. asp、php、jsp の長所と短所について話す (1 点)

Asp.net 利点: 開発が速い、B/S、C/S

Asp.net短所: プラットフォームの制限 (Windows-IIS)、高コスト

PHP長所: クロスプラットフォーム、高い開発効率、オープンソース

PHP 短所: C/Sモード ソフトウェア (例: QQ) ができない

JSP 利点: より広い範囲をカバー () C/S、B/S )、より安全

JSP 短所: オープンソースではない、無料ではない、コストが高い

14. PHP を使用して、クライアント IP とサーバー IP を表示するコードを作成します。

$_SERVER['REMOTE_ADDR']

$_SERVER['SERVER_ADDR

15.パディングの違いは何ですか? Margin: 1px 2px 3px の場合のパディングのパラメータの方向を記載してください。 php.ini を変更する必要があります。 (10 点)

upload_max_filesize Upload_max_filesize

post_max_size post_max_size

17. PHP にセキュリティ上の問題があるかどうか、リストして説明してください。 Sql

インジェクション、前処理

18. PHP4.2.0 以降、PHP のデフォルト設定では register_globals 設定がオフに設定されます。この設定の役割と PHP 関連への影響を示してください。プログラム。 (5 点)

はパラメータ

index.php?id=1

$id

を自動的に受け取ります

$_SESSION['id'] = 1

19. Apache はデフォルトでプロセス管理またはスレッド管理を使用しますか?最大接続数を決定および設定するにはどうすればよいですか? プロセス管理

20. PHPでシェルを実行する2つの方法

Shell_exec

21.関数を作成します。パラメーターは年と月で、出力結果は指定された月の日数です

Function getDays($year,$month){

出力結果は数値です。指定した月の日数

Function getDays($year,$month){

month+1).”-1”)-strtotime($year.”-”.$month.” -1”))/(3600*24);

}

22 、PHP を使用して、3 番目の変数が使用されていないことを認識するコードを記述します。 $a, $b を交換し、$a, $b の初期値を自分で決めます。

$a = array($a,$b)

$b = $a[0];

$a = $a[1]

23. オブジェクト指向におけるインターフェースと抽象クラスの違いと応用シナリオ

インターフェース: 属性を許可せず、定数のみを許可し、すべてのメソッドが抽象クラスです。 : 必ずしもすべてのメソッドが抽象メソッドであるとは限りません

同じです: インスタンス化できるものはありません

1 インターフェイスはコアであり、何を行うかを定義し、多くのメソッドが含まれていますが、これらのメソッドがどのように実行されるべきかは定義されていません。

2 多くのクラスが特定のインターフェースを実装する場合、各クラスはコードを使用してそれらのメソッドを実装する必要があります

3 特定のクラスの実装に共通点がある場合は、抽象クラスを抽象化し、その抽象クラスに共通の関数を実装させることができますインターフェイス コードと、それらのパーソナライズされたメソッドは各サブクラスによって実装されます。

関連する推奨事項:

基本的なPHPページングコードの詳細な説明

PHPの基礎知識のまとめ(初心者に必要)

PHPの基本とJavaScript操作の違い(コレクション)

以上がPHPの基本的な質問と回答の知識の概要の共有の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。