PHP面接の質問と回答

WBOY
WBOYオリジナル
2016-07-25 08:53:451412ブラウズ
  1. $a = date("y-m-d h:i:s", strtotime("-1 day"));
  2. print_r($a);
コードをコピー

2. print() と print_r() の違い (3 点)

  1. echoとprintは関数ではなく、言語構造です
  2. int print(string $arg)、パラメータは1つだけです
  3. echo arg1、arg2は複数のパラメータを出力し、voidを返すことができます
  4. echoとprintは印刷のみ可能です文字列を出力します。構造体は出力できません
  5. print_r は構造体を出力できます
  6. 例:$arr = array("key"=>"value");
  7. print_r($arr);
コードをコピーします
3. htmlとphpを使い分けできるテンプレート(1点) スマート、phplib 4. バージョン管理にはどのようなツールが使用されていますか? (1 点) SVN、GIT、CVS 5. 文字列反転を実装する方法 (3 つのポイント) 英語: strrev($a) 中国語またはその他のテキスト: 中国語: gb2312、コードは gb2312 を使用してエンコードされます

    function reverse($str)
  1. {
  2. $ret = "";
  3. len=mbstrwidth(str,"gb2312");
  4. for(i=0;i {
  5. arr[]=mbsubstr(str, $i, 1, "gb2312");
  6. }
  7. return implode("", array_reverse($arr));
  8. }
  9. print_r(reverse("Hello") ) ;
コードをコピー
6. mysqlデータベースを最適化する方法。 (4 ポイント、もっと書いてさらに獲得) 文章に関して言えば、 1 インデックスを使用してクエリ効率を向上させる 2 クエリ文を最適化し、インデックスのヒット率を向上させる 関係するデータベースの側面: 1 サブデータベースとテーブルを構築して、データベースのストレージ機能と拡張機能を向上させます。 2 必要に応じて別のストレージ エンジンを使用する 7.phpの意味(1ポイントを送る) ハイパーテキスト前処理言語 ハイパーテキストプリプロセッサ 8. MySQL の現在時刻を取得する関数と日付をフォーマットする関数は何ですか? (2 点)

    current_timestamp()
  1. date_format()
  2. select date_format("2011-11-21 10:10:10", "%y-%m-%d");
コードをコピー
9. 中国語の文字列を文字化けせずにインターセプトする方法。 (3点) mb_substr($str, 1, 1, "gb2312"); 10. バージョン管理ソフトウェアを使用したことがありますか? (1 点) SVN ギット 11. テンプレート エンジンを使用したことがありますか? (1 点) 賢い 12. 最も誇りに思う開発作業を簡単に説明してください (4 点) xxx 13. トラフィックが多い Web サイトの場合、トラフィックの問題を解決するためにどのような方法を使用しますか? (4 点) 1 キャッシュを有効活用してキャッシュヒット率を高める 2 負荷分散を使用する 3 CDN を使用して静的ファイルを保存および高速化する データベースの使用量を削減するための 4 つのアイデア 5 統計上のボトルネックがどこにあるのかを確認する 14. PHP を使用して、クライアント IP とサーバー IP を表示するコードを作成します (1 ポイント) $_server["リモートアドレス"] $_server["サーバーのアドレス"] 15. include ステートメントと require ステートメントの違いは何ですか? 同じファイルを複数回インクルードすることを避けるために、これらを (?) ステートメントに置き換えることができますか? (2 点) 失敗時: include は警告を生成しますが、require はエラー割り込みを直接生成します。 require は実行前にロードされます インクルードは実行時にロードされます 一回だけ必要 include_once 16. セッション生存時間を変更する方法 (1 ポイント)。 session_set_cookie_params 17. Scripting School ホームページのような Web ページ アドレスがあります: http://bbs.it-home.org/index.html、そのコンテンツを入手するにはどうすればよいですか (1 ドル ポイント)。 file_get_contents カール 18. http 1.0 では、ステータス コード 401 の意味は (?)、プロンプト「ファイルが見つかりません」が返された場合、ヘッダー関数を使用でき、そのステートメントは (?) です。 無許可の header("http/1.0 404 が見つかりません"); 高速 CGI の場合: header("ステータス: 404 が見つかりません"); 19. PHP では、ヒアドキュメントは特殊な文字列であり、その終了マークは (1 ポイント) でなければなりません。 ペアで登場する $a =

    $str = "jianfeng@126.com";
  1. regex="([a?z0?9.?]+)@([da?z.?]+).([a?z .]2,6)"; //通常
  2. return preg_match(regex,str)
コードをコピー

26. 取得したパラメータを含む、現在の実行スクリプトのパスを取得する方法を簡単に説明します。 (2分) $argc -- パラメータの数を取得します。 $argv -- パラメータリストを取得します。 27.セッション生存時間を変更する方法 (1 点) session_set_cookie_params 28. jsフォームでダイアログボックスをポップアップさせる関数とは何ですか? (2点) アラート() 確認する() プロンプト() 集中() 29. jsのリダイレクト機能とは 外部jsファイルの導入方法(2点) window.location.href="#" 30. foo() と @foo() の違いは何ですか? (1 点) @ は無視されるすべての警告を表します 31. メソッドと属性なしで「myclass」という名前のクラスを宣言するにはどうすればよいですか? (1 ポイント) クラスマイクラス { } 32.「myclass」という名前のオブジェクトをインスタンス化する方法 (1 ポイント) $myclass = 新しい myclass(); 33. クラスのプロパティにアクセスして設定するにはどうすればよいですか? (2 点)

  1. class a
  2. {
  3. public $name = "a";
  4. }
  5. $a = new a(); =a->name;
  6. print_r($n);
コードをコピー
34. mysql_fetch_row() と mysql_fetch_array の違いは何ですか? (1 点) mysql_fetch_array() は mysql_fetch_row() の拡張バージョンです。データを数値インデックスとして配列に保存するだけでなく、フィールド名をキーとして使用して、データを連想インデックスとして保存することもできます。

  1. mysql_connect("localhost", "mysql_user", "mysql_password") or
  2. die("接続できませんでした: " .mysql_error());
  3. mysql_select_db("mydb");
  4. $result = mysql_query("select id, name from mytable");
  5. while (row=mysqlfetcharray(result, mysql_assoc)) {
  6. printf ("id: %s name: %s", row["id"],row ["name"]);
  7. }
  8. mysql_free_result($result);
コードをコピー
35. gd ライブラリは何に使用されますか? (1 点) ダイナミックでオープンな画像処理ライブラリ 36. php に HTML コードを入力するいくつかの方法を指摘します。 (1点)

  1. echo "{html}"
  2. echo <
  3. {html}
  4. eod;
コードをコピー
37. ファイルを開いて読み取ることができる関数はどれですか。ファイルの書き込み操作? (1 点) (a) fget() (b) file_open() (c) fopen() (d) open_file() 38. 次のオプションのうち、ユーザー配列に john が追加されないものはどれですか (1 点) b

  1. (a) $users[] = 'john';
  2. (b) array_add($users,'john');
  3. (c) array_push($users,'john');
  4. (d) $users ||= 'john';
コードをコピー
39. 次のプログラムが入力されますか? (1 点)

  1. $num = 10;
  2. function multiply(){
  3. num=num * 10;
  4. }
  5. multiply();
  6. echo $num;
コードをコピー
40. PHP を使用して、「Zhang San」という名前のすべてのコンテンツを検索し、出力する簡単なクエリを作成します (2 ポイント) テーブル名 ユーザー名 電話番号 内容の日付 張三 13333663366 大学卒業 2006-10-11 張三 13612312331 学士 2006-10-15 Zhang Si 021-55665566 工業高校卒業 2006-10-15 上記の質問に従ってコードを完成させてください。

  1. $mysql_db=mysql_connect("local","root","pass");
  2. @mysql_select_db("db",$mysql_db);
  3. $sql = sprintf("select * from %s where username = '%s'",
  4. "テーブル名",
  5. "Zhang San");
  6. value=mysqlquery(sql);
  7. while(item=mysqlfetchqueryarray(values))
  8. {
  9. echo sprintf("ユーザー名: %s ,電話番号 %s、学歴: %s、卒業日: %s",
  10. item['username'],item['tel'], item['content'],item['date']
  11. );
  12. }
コードをコピー
41. 次のクラスの使用方法とその意味を説明します。

  1. class test{
  2. function get_test($num){
  3. num=md5(md5(num)."en");
  4. return $num;
  5. }
  6. }
  7. $test = new test();
  8. ret=test->get_test(11);
  9. print_r($ret);exit;
コードをコピー

numをmd5エンコードして生成された32ビット文字列a1をenで繋ぎ、再度md5エンコードを行う 42. SQL ステートメントの形式を記述する: 挿入、更新、削除 (4 点) テーブル名 ユーザー名 電話番号 内容の日付 張三 13333663366 大学卒業 2006-10-11 張三 13612312331 学士 2006-10-15 Zhang Si 021-55665566 工業高校卒業 2006-10-15 (a) 新しいレコードがあります (Xiao Wang 13254748547 高校卒業 2007-05-06)。SQL ステートメントを使用してテーブルに追加してください。 テーブル名の値に挿入します('Xiao Wang', '13254748547', '高校卒業', '2007-05-06') (b) SQL ステートメントを使用して、Zhang San の時刻を現在のシステム時刻に更新してください。 テーブル名を更新 set date = getdate() where username = "Zhang San" (c) Zhang Si という名前のすべての記録を削除するよう書き込んでください。 削除元はユーザー名が「Zhang Si」であることを示します 43. データ型の意味を書いてください (int char varchar datetime text) varchar と char の違いは何ですか (2 点) int整数型 固定長の文字ストレージ varchar ストレージの可変長 日時時間 テキストは可変長を格納します varchar は可変長です char(20) 固定長 44. mysq 自動インクリメント タイプ (通常はテーブル ID フィールド) を (?) フィールド (1 ポイント) に設定する必要があります。 自動増加 45. 以下のプログラムの出力を書いてください(1点) $b=201; $c=40; a=b>$c?4:5; $a をエコーし​​ます。 ?> 4

46. 変数が設定されているかどうかを検出する関数はありますか? (2 点) isset() 空の() 47. クエリ結果セットの総数を取得する関数は何ですか? (1 点) mysql_num_rows() 48.

  1. $arr = array('james', 'tom', 'symfony'); 最初の要素の値 (1 ポイント) を出力してください
  2. print_r($arr[0]);
  3. reset( $arr);
  4. print_r(current($arr));
  5. print_r(array_shift($arr)); (Programmer's Home bbs.it-home.org によって編集および整理)
コードをコピーします

49。質問41の配列の値を「,」記号で区切って文字列出力(1点)に結合してください。 爆裂する 50. a='abcdef'; aの値を取り出して最初の文字(1点)を出力してください。 $a[0]; substr($a, 0, 1); 51. php は SQL サーバー/oracle などのデータベースに接続できますか? (1 点) できる 既製のライブラリがあります 52. php5のパーミッション制御修飾子を書いてください(3点) 公共 プライベート 保護された 53. php5のコンストラクタとデストラクタを書いてください(2点) パブリック関数 __construct() { } パブリック関数 __destruct() { } プログラミングに関する質問 ​ 1. 標準 URL からファイル拡張子をできるだけ効率的に取得する関数を作成します。 例: http://www.sina.com.cn/abc/de/fg.php?id=1 php または .php を削除する必要があります。

  1. $url = "http://www.sina.com.cn/abc/de/fg.php?id=1";
  2. arr=parseurl(url);
  3. patharr =pathinfo(arr['path']);
  4. print_r($patharr['extension']);
コードをコピー

3. 2 つのファイルの相対パスを計算する関数を作成します。 $a = '/a/b/c/d/e.php'; など $b = '/a/b/12/34/c.php'; a に対する b の相対パスを計算すると、http://www.cnblogs.com/12/34/c.php が追加されます。

  1. $a = '/a/b/c/d/e.php';
  2. $b = '/a/b/12/34/c.php';
  3. / /conpath を基準としたパスの相対パスを取得します
  4. function sgetrelativepath(path,conpath)
  5. {
  6. patharr=explode("/",path);
  7. conpatharr=explode("/",conpath);
  8. $dismatchlen = 0;
  9. for(i=0;i < count(patharr);i++)
  10. {
  11. if(conpatharr[i] != patharr[i])
  12. {
  13. dismatchlen=count(patharr) - $i;
  14. arrleft=arrayslice ( patharr, $i);
  15. Break;
  16. }
  17. }
  18. ret=strrepeat("../",dismatchlen).implode("/", $arrleft);
  19. return $ret;
  20. }
  21. print_r(sgetrelativepath( b ,a));
コードをコピー

3. フォルダー内のすべてのファイルとサブフォルダーを走査できる関数を作成します。

  1. function agetallfile($folder)
  2. {
  3. $afilearr = array();
  4. if(is_dir($folder))
  5. {
  6. handle=opendir(folder);
  7. while(( file=readdir(handle)) !== false)
  8. {
  9. //. または.. の場合は、
  10. をスキップします if(file=="."||file == "..")
  11. {
  12. continue;
  13. }
  14. if(is_file(folder."/".file))
  15. {
  16. afilearr[]=file;
  17. }
  18. else if(is_dir(folder."/".file))
  19. {
  20. afilearr[file] = agetallfile(folder."/".file);
  21. }
  22. }
  23. Closedir($handle);
  24. }
  25. return $afilearr;
  26. }
  27. $path = "/home/test/sql";
  28. print_r(agetallfile($パス));
コードをコピー


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