作者 主題: [題目]php程式設計面試考試.  (閱讀 28521 次)

0 會員 與 1 訪客 正在閱讀本文。

Darkhero

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 3728
  • 性別: 男
    • 檢視個人資料
    • ㄚ凱隨手紀
[題目]php程式設計面試考試.
« 於: 2005-07-23 12:59 »
這是我幫朋友寫的一份考題...目前寫了三分之一...
會考的內容有20~25題php, 20~25題MySQL...

面試考試的話,應該是列印出來考的.所以沒有電腦可以上網查資料...

PHP部分的考試方向,有部分參考之前考的ZCE.各位可以參考看看(不過zend考的是英文拉..我這是中文)

目前這裡有15題 php 的..
代碼: [選擇]

PHP人員面試測驗

    * + - PHP
          o + - 1.PHP是屬於下列哪一類型的語言
                + 1.伺服器端網頁描述語言
                + 2.瀏覽器描述語言
                + 3.系統�{式語言
                + 4.組合語言
          o + - 2.PHP可搭配下列哪種網頁伺服器
                + 1.IIS
                + 2.APACHE
                + 3.NetScape
                + 4.以上皆可
          o + - 3.下列何者非PHP的用途
                + 1.Server-Side Script
                + 2. Command line scripting
                + 3. Writing desktop applications
                + 4.以上皆是
          o + - 4.PHP使用下列何關鍵字�]定全域變數
                + 1.all
                + 2.total
                + 3.global
                + 4.get
          o + - 5.PHP的變數識別字元是?
                + 1.@
                + 2.%
                + 3.&
                + 4.$
          o + - 6.當取得Form Submit的資料後,PHP可從下列何者取得該變數
                + 1.$_GET
                + 2.$_SERVER
                + 3.$_ENV
                + 4.$_COOKIE
          o + - 7.下列何者可以輸出日期 "2005-08-08 15:04"
                + 1.date('Ymd')
                + 2.date("y-m-d h:i")
                + 3.date("Y-m-d H:i")
                + 4.date("Y-m-d h:i")
          o 8.請寫出 date("Y-m-d h:i:s",mktime(13,12,11,12,10,2003))
          o + - 9.PHP Code : <? echo count ("123") ?>執行結果為?
                + 1.123
                + 2.0
                + 3.false
                + 4.3
          o + - 10.在PHP中,變數與變數連結所使用的運算元是?
                + 1. +
                + 2. .
                + 3. =
                + 4. ~
          o + - 11. $str = "1234567890"; 請選出能取出789 的PHP Code
                + 1.substr($str,0,789);
                + 2.substr($str,7,3);
                + 3.substr($str,6);
                + 4.substr($str,6,3);
          o + - 12. 下列何者能中斷迴圈的執行
                + 1.stop
                + 2.quit
                + 3.break
                + 4.exit
          o + - 13. 請看�{式碼
            $result = array(10,20,30,40);
            list($a,$b,$c,$d) = $result;
            則下列何者正確?
                + 1.$a+$b = 40;
                + 2. $b.$d = 1030;
                + 3. $a+$c = 30;
                + 4, $d.$a = 4010;
          o + - 14. 下列何者為 class 內的特殊保留變數
                + 1.$this
                + 2.$object
                + 3.$classes
                + 4.$func
          o + - 15.
            $a = b;
            $b = 10;
            $c = $$a;
            echo $c;
            請問 $c = ?
                + 1.a
                + 2.b
                + 3.10
                + 4.false
希望我們的討論是為了把問題解決,而不是爭論誰對誰錯.
『灌水才是重點,發文只是順便』
『我寧可讓不會釣魚的工程師餓死,也不想讓會餓死的工程師去攪沉公司....』
Blog: http://blog.darkhero.net/
秘密基地: http://www.darkhero.net/comic/
目前服務的網站: http://www.libook.com.tw/

kiang

  • 活潑的大學生
  • ***
  • 文章數: 310
    • 檢視個人資料
    • 就這間電腦工作室
[題目]php程式設計面試考試.
« 回覆 #1 於: 2005-07-23 23:34 »
1 - 1
2 - 4
3 - 4
4 - 3
5 - 4
6 - 1
7 - 3
8 - 2003-12-10 1:12:11
9 - 4(好像沒有分號 :roll: )
10 - 2
11 - 4
12 - 4
13 - 4
14 - 1
15 - 3(好像少了引號 :roll: )
****************************************************
Finjon Kiang / 江明宗
Just This Computer Studio / 就這間電腦工作室
Website: http://olc.tw
****************************************************

hoyo

  • 榮譽博士
  • 俺是博士!
  • *****
  • 文章數: 4048
  • 性別: 男
  • 有需要的時候,學習就不會分階段。
    • 檢視個人資料
    • 樂咖黑電腦學習網
[題目]php程式設計面試考試.
« 回覆 #2 於: 2005-07-24 00:30 »
引述: "kiang"
9 - 4(好像沒有分號 :roll: )


此例不需要分號,分號的真正用途為何?

引述: "kiang"
15 - 3(好像少了引號 :roll: )


資料型態的差異,有 ' 或 " 和沒有的差異為何?
受人與魚,不如授人與漁
上海自來水來自海上;倫敦好奇人奇好敦倫

kiang

  • 活潑的大學生
  • ***
  • 文章數: 310
    • 檢視個人資料
    • 就這間電腦工作室
[題目]php程式設計面試考試.
« 回覆 #3 於: 2005-07-24 01:25 »
9. 在Windows環境下的實際執行結果為 1 ;一般程式句末會加上分號不是嗎?

15. 定義字串時不是應該有引號嗎?

上面給的答案只是憑第一印象,並沒有實際嘗試;其實之前在做ZCE的模擬試題也發現許多超乎預期的答案,可能是題目看錯,也可能是自己的誤解吧 :)
****************************************************
Finjon Kiang / 江明宗
Just This Computer Studio / 就這間電腦工作室
Website: http://olc.tw
****************************************************

Darkhero

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 3728
  • 性別: 男
    • 檢視個人資料
    • ㄚ凱隨手紀
[題目]php程式設計面試考試.
« 回覆 #4 於: 2005-07-24 02:13 »
9 沒有放上答案..Q_Q..
我的錯...
正確答案應該 echo 出 1 ..
因為...count 是算陣列..他不是在算字串長度...
希望我們的討論是為了把問題解決,而不是爭論誰對誰錯.
『灌水才是重點,發文只是順便』
『我寧可讓不會釣魚的工程師餓死,也不想讓會餓死的工程師去攪沉公司....』
Blog: http://blog.darkhero.net/
秘密基地: http://www.darkhero.net/comic/
目前服務的網站: http://www.libook.com.tw/

耗呆

  • 憂鬱的高中生
  • ***
  • 文章數: 112
    • 檢視個人資料
[題目]php程式設計面試考試.
« 回覆 #5 於: 2005-07-24 19:52 »
[list=1]
  • 1
  • 4
  • 4
  • 3
  • 4
  • 1
  • 3
  • 2003-12-10 13:12:11
  • ?
  • 2
  • 4
  • 3
  • 4
  • 1
  • 3[/list:o]

Darkhero

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 3728
  • 性別: 男
    • 檢視個人資料
    • ㄚ凱隨手紀
[題目]php程式設計面試考試.
« 回覆 #6 於: 2005-07-25 08:16 »
訂正版~
代碼: [選擇]

PHP人員面試測驗

    * + - PHP
          o + - 1.PHP是屬於下列哪一類型的語言
                + 1.伺服器端網頁描述語言
                + 2.瀏覽器描述語言
                + 3.系統語言
                + 4.組合語言
          o + - 2.PHP可搭配下列哪種網頁伺服器
                + 1.IIS
                + 2.APACHE
                + 3.NetScape
                + 4.以上皆可
          o + - 3.下列何者非PHP的用途
                + 1.Server-Side Script
                + 2. Command line scripting
                + 3. Writing desktop applications
                + 4.以上皆是
          o + - 4.PHP使用下列何關鍵字�]定全域變數
                + 1.all
                + 2.total
                + 3.global
                + 4.get
          o + - 5.PHP的變數識別字元是?
                + 1.@
                + 2.%
                + 3.&
                + 4.$
          o + - 6.當取得Form Submit的資料後,PHP可從下列何者取得該變數
                + 1.$_GET
                + 2.$_SERVER
                + 3.$_ENV
                + 4.$_COOKIE
          o + - 7.下列何者可以輸出日期 "2005-08-08 15:04"
                + 1.date('Ymd')
                + 2.date("y-m-d h:i")
                + 3.date("Y-m-d H:i")
                + 4.date("Y-m-d h:i")
          o 8.請寫出 date("Y-m-d h:i:s",mktime(13,12,11,12,10,2003))
          o + - 9.PHP Code : <? echo count ("123") ?>執行結果為?
                + 1.123
                + 2.1
                + 3.false
                + 4.3
          o + - 10.在PHP中,變數與變數連結所使用的運算元是?
                + 1. +
                + 2. .
                + 3. =
                + 4. ~
          o + - 11. $str = "1234567890"; 請選出能取出789 的PHP Code
                + 1.substr($str,0,789);
                + 2.substr($str,7,3);
                + 3.substr($str,6);
                + 4.substr($str,6,3);
          o + - 12. 下列何者能中斷迴圈的執行
                + 1.stop
                + 2.quit
                + 3.break
                + 4.exit
          o + - 13. 請看
            $result = array(10,20,30,40);
            list($a,$b,$c,$d) = $result;
            則下列何者正確?
                + 1.$a+$b = 40;
                + 2. $b.$d = 1030;
                + 3. $a+$c = 30;
                + 4, $d.$a = 4010;
          o + - 14. 下列何者為 class 內的特殊保留變數
                + 1.$this
                + 2.$object
                + 3.$classes
                + 4.$func
          o + - 15.
            $a = 'b';
            $b = 10;
            $c = $$a;
            echo $c;
            請問 $c = ?
                + 1.a
                + 2.b
                + 3.10
                + 4.false


當自己再寫題目的時候..才發現題目並不是想像中那麼好出的...
忽然覺得以前老師出題很厲害...
希望我們的討論是為了把問題解決,而不是爭論誰對誰錯.
『灌水才是重點,發文只是順便』
『我寧可讓不會釣魚的工程師餓死,也不想讓會餓死的工程師去攪沉公司....』
Blog: http://blog.darkhero.net/
秘密基地: http://www.darkhero.net/comic/
目前服務的網站: http://www.libook.com.tw/

abelyang

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 1097
    • 檢視個人資料
[題目]php程式設計面試考試.
« 回覆 #7 於: 2005-07-25 09:51 »
可以加一些 HTTP 或 web server 的東西
可以當成 Extra , 不會沒關係,會可以加分

12 題中的 3,4 都可以, 可能需要避免疑義

Darkhero

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 3728
  • 性別: 男
    • 檢視個人資料
    • ㄚ凱隨手紀
[題目]php程式設計面試考試.
« 回覆 #8 於: 2005-08-01 12:31 »
訂正版加上後面10題.

      + - 1.PHP是屬於下列哪一類型的語言
          o 1.伺服器端網頁描述語言
          o 2.瀏覽器描述語言
          o 3.系統程式語言
          o 4.組合語言

      + - 2.PHP可搭配下列哪種網頁伺服器
          o 1.IIS
          o 2.APACHE
          o 3.NetScape
          o 4.以上皆可

      + - 3.下列何者非PHP的用途
          o 1.Server-Side Script
          o 2. Command line scripting
          o 3. Writing desktop applications
          o 4.以上皆是

      + - 4.PHP使用下列何關鍵字設定全域變數
          o 1.all
          o 2.total
          o 3.global
          o 4.get

      + - 5.PHP的變數識別字元是?
          o 1.@
          o 2.%
          o 3.&
          o 4.$

      + - 6.當取得Form Submit的資料後,PHP可從下列何者取得該變數
          o 1.$_GET
          o 2.$_SERVER
          o 3.$_ENV
          o 4.$_COOKIE

      + - 7.下列何者可以輸出日期 "2005-08-08 15:04"
          o 1.date('Ymd')
          o 2.date("y-m-d h:i")
          o 3.date("Y-m-d H:i")
          o 4.date("Y-m-d h:i")

      8.請寫出 date("Y-m-d h:i:s",mktime(10,11,12,12,10,2003))

      + - 9.程式碼<? echo count ("123") ?>執行結果為?
          o 1.123
          o 2.0
          o 3.1
          o 4.3

      + - 10.在PHP中,變數與變數連結所使用的運算元是?
          o 1. +
          o 2. .
          o 3. =
          o 4. ~

      + - 11. $str = "1234567890"; 請選出能取出789 的程式碼
          o 1.substr($str,0,789);
          o 2.substr($str,7,3);
          o 3.substr($str,6);
          o 4.substr($str,6,3);

      + - 12. 下列何者能中斷迴圈的執行,但不終止程式的執行.
          o 1.stop
          o 2.quit
          o 3.break
          o 4.exit

      + - 13. 請看程式碼
      $result = array(10,20,30,40);
      list($a,$b,$c,$d) = $result;
      則下列何者正確?
          o 1.$a+$b = 40;
          o 2. $b.$d = 1030;
          o 3. $a+$c = 30;
          o 4, $d.$a = 4010;

      + - 14. 下列何者為 class 內的特殊保留變數
          o 1.$this
          o 2.$object
          o 3.$classes
          o 4.$func

      + - 15.
      $a = b;
      $b = 10;
      $c = $$a;
      echo $c;
      請問 $c = ?
          o 1.a
          o 2.b
          o 3.10
          o 4.false

      + - 16. 請問下面錯誤訊息的涵義
      Parse error: parse error, unexpected T_VARIABLE in /home/test/test.php on line 30


      + - 17.請問指令 set_time_limit 的作用是?
          o 1.設定時間
          o 2.設定程式執行時間
          o 3.設定程式最大可執行時間
          o 4.設定程式在什麼時間執行

      + - 18.當你有一個 php module 的時候,可用下列何種方式載入
          o 1.修改php.ini ,使用 extension 語法
          o 2.在程式中使用 dl()
          o 3.以上皆可
          o 4.以上皆非

      + - 19.有一個Html 的 Form 如下.
      <form method="post">
       <input type="text" name="name[]"><br>
       <input type="text" name="name[]"><br>
       <input type="text" name="name[]"><br>
       <input type="text" name="name[]"><br>
       <input type="Submit" name="Submit">
      </form>
      請問送出的資料需要以何種方式提取,且,資料型態為何?
          o 1.$_GET['name'],陣列
          o 2.$_POST['name'],物件
          o 3.$_POST['name'],陣列
          o 4.$_GET['name'],物件

      20.請看程式碼
      <?
      $a = 1;
      $b = "abcd';
      for($i = 0 ; $i < 10 ;$i++){
         $a++;
         $b .= $a;
      )
      ?>
      請指出錯誤地方,且修正.

      + - 21.承上題,最後輸出的 $b 是什麼?
          o 1.abcd
          o 2.12345678910
          o 3.abcd12345678910
          o 4.abcd234567891011
          o 5.以上皆非

      + - 22.以下為一個以CSV存檔的客戶資料
      18,王小名,abcd@123.com
      請問可用下列哪一個指令將資料分割存入陣列
          o 1.implode
          o 2.explode
          o 3.substr
          o 以上皆非

      + - 23.小陳寫好了一段程式,但是執行的時候出現了下面的錯誤訊息.
      Call to undefined function mysql_connect()
      請問他該怎麼辦?
          o 這是問答題.

      + - 24.PHP在4.3.0以後,預設將 register_globals = Off . 請問主要的用意為何?
      為何不建議將 register_globals = On 呢?
          o 這也是問答題.

      25.請簡單解釋下列程式碼之用途

      $fp = file("userlist.csv");
      foreach($fp as $val){
         $user[] = explode(",",$val);
      }
希望我們的討論是為了把問題解決,而不是爭論誰對誰錯.
『灌水才是重點,發文只是順便』
『我寧可讓不會釣魚的工程師餓死,也不想讓會餓死的工程師去攪沉公司....』
Blog: http://blog.darkhero.net/
秘密基地: http://www.darkhero.net/comic/
目前服務的網站: http://www.libook.com.tw/

ricky

  • 區域板主
  • 鑽研的研究生
  • *****
  • 文章數: 669
    • 檢視個人資料
    • Ricky 碎碎唸
[題目]php程式設計面試考試.
« 回覆 #9 於: 2005-08-01 13:35 »
我也來PO一下解答吧
有錯請指正


      + - 1.PHP是屬於下列哪一類型的語言
          o 1.伺服器端網頁描述語言
          o 2.瀏覽器描述語言
          o 3.系統程式語言
          o 4.組合語言
 1.伺服器端網頁描述語言



      + - 2.PHP可搭配下列哪種網頁伺服器
          o 1.IIS
          o 2.APACHE
          o 3.NetScape
          o 4.以上皆可
 4.以上皆可

      + - 3.下列何者非PHP的用途
          o 1.Server-Side Script
          o 2. Command line scripting
          o 3. Writing desktop applications
          o 4.以上皆是
4.以上皆是


      + - 4.PHP使用下列何關鍵字設定全域變數
          o 1.all
          o 2.total
          o 3.global
          o 4.get
3.global


      + - 5.PHP的變數識別字元是?
          o 1.@
          o 2.%
          o 3.&
          o 4.$
4.$


      + - 6.當取得Form Submit的資料後,PHP可從下列何者取得該變數
          o 1.$_GET
          o 2.$_SERVER
          o 3.$_ENV
          o 4.$_COOKIE
1.$_GET


      + - 7.下列何者可以輸出日期 "2005-08-08 15:04"
          o 1.date('Ymd')
          o 2.date("y-m-d h:i")
          o 3.date("Y-m-d H:i")
          o 4.date("Y-m-d h:i")
3.date("Y-m-d H:i")


      8.請寫出 date("Y-m-d h:i:s",mktime(10,11,12,12,10,2003))
2003-12-10 10:11:12


      + - 9.程式碼<? echo count ("123") ?>執行結果為?
          o 1.123
          o 2.0
          o 3.1
          o 4.3
3.1


      + - 10.在PHP中,變數與變數連結所使用的運算元是?
          o 1. +
          o 2. .
          o 3. =
          o 4. ~
2. .


      + - 11. $str = "1234567890"; 請選出能取出789 的程式碼
          o 1.substr($str,0,789);
          o 2.substr($str,7,3);
          o 3.substr($str,6);
          o 4.substr($str,6,3);
4.substr($str,6,3);


      + - 12. 下列何者能中斷迴圈的執行,但不終止程式的執行.
          o 1.stop
          o 2.quit
          o 3.break
          o 4.exit
3.break


      + - 13. 請看程式碼
      $result = array(10,20,30,40);
      list($a,$b,$c,$d) = $result;
      則下列何者正確?
          o 1.$a+$b = 40;
          o 2. $b.$d = 1030;
          o 3. $a+$c = 30;
          o 4, $d.$a = 4010;
4, $d.$a = 4010;


      + - 14. 下列何者為 class 內的特殊保留變數
          o 1.$this
          o 2.$object
          o 3.$classes
          o 4.$func
1.$this


      + - 15.
      $a = b;
      $b = 10;
      $c = $$a;
      echo $c;
      請問 $c = ?
          o 1.a
          o 2.b
          o 3.10
          o 4.false
3.10


      + - 16. 請問下面錯誤訊息的涵義
      Parse error: parse error, unexpected T_VARIABLE in /home/test/test.php on line 30
在test.php第30行的地方語法錯誤嘍!!



      + - 17.請問指令 set_time_limit 的作用是?
          o 1.設定時間
          o 2.設定程式執行時間
          o 3.設定程式最大可執行時間
          o 4.設定程式在什麼時間執行
3.設定程式最大可執行時間


      + - 18.當你有一個 php module 的時候,可用下列何種方式載入
          o 1.修改php.ini ,使用 extension 語法
          o 2.在程式中使用 dl()
          o 3.以上皆可
          o 4.以上皆非
3.以上皆可
PS:這邊補充一下dl不是所有的地方都可使用
在thread模式下的web server就不支援了
例如apache編譯成worker模式就不能使用dl這個方式載入


      + - 19.有一個Html 的 Form 如下.
      <form method="post">
       <input type="text" name="name[]"><br>
       <input type="text" name="name[]"><br>
       <input type="text" name="name[]"><br>
       <input type="text" name="name[]"><br>
       <input type="Submit" name="Submit">
      </form>
      請問送出的資料需要以何種方式提取,且,資料型態為何?
          o 1.$_GET['name'],陣列
          o 2.$_POST['name'],物件
          o 3.$_POST['name'],陣列
          o 4.$_GET['name'],物件
3.$_POST['name'],陣列


      20.請看程式碼
      <?
      $a = 1;
     $b = "abcd';
=>      $b = "abcd";
      for($i = 0 ; $i < 10 ;$i++){
         $a++;
         $b .= $a;
      )
      ?>
      請指出錯誤地方,且修正.



      + - 21.承上題,最後輸出的 $b 是什麼?
          o 1.abcd
          o 2.12345678910
          o 3.abcd12345678910
          o 4.abcd234567891011
          o 5.以上皆非
4.abcd234567891011


      + - 22.以下為一個以CSV存檔的客戶資料
      18,王小名,abcd@123.com
      請問可用下列哪一個指令將資料分割存入陣列
          o 1.implode
          o 2.explode
          o 3.substr
          o 以上皆非
2.explode
PS:使用方法為
$RawData="18,王小名,abcd@123.com";
$ArrayData=explode("'",$RawData);


      + - 23.小陳寫好了一段程式,但是執行的時候出現了下面的錯誤訊息.
      Call to undefined function mysql_connect()
      請問他該怎麼辦?
          o 這是問答題.
這個原因是php沒有將mysql模組編譯進去
請重新編譯php並且將mysql模組加入


      + - 24.PHP在4.3.0以後,預設將 register_globals = Off . 請問主要的用意為何?
      為何不建議將 register_globals = On 呢?
          o 這也是問答題.

將POST,COOKIE,GET,SESSION傳來的變數資料
放入各自專屬的array中 $_POST,$_COOKIE,$_GET,$_SESSION
將register_globals = On將會導致這些類型的變數跟global變數混淆
導致系統安全因素
詳情請看
http://www.php.net/manual/en/security.globals.php


      25.請簡單解釋下列程式碼之用途

      $fp = file("userlist.csv");
      foreach($fp as $val){
         $user[] = explode(",",$val);
      }
將"userlist.csv"的內容讀出每一行放入array $fp中
使用foreach 讀入$fp這個array
使用explode將每一行的資料以","做區隔讀入$user這個array中
我的symfony作品:YOMOpets 寵物誌
有興趣可以一起來討論symfony喔
我的部落格:http://ricky.ez2.us/

唐小路

  • 活潑的大學生
  • ***
  • 文章數: 277
    • 檢視個人資料
[題目]php程式設計面試考試.
« 回覆 #10 於: 2005-08-01 20:51 »
引述: "Darkhero"

      + - 3.下列何者非PHP的用途
          o 1.Server-Side Script
          o 2. Command line scripting
          o 3. Writing desktop applications
          o 4.以上皆是


我想提出中文語意上可能產生誤解的問題,如果改成
下列何者是php的用途?也是以上皆是耶@@..中文果然夠圓滑,怎麼解釋都通XD

感謝分享^_^
....

螢火飛

  • 酷!學園 學長們
  • 活潑的大學生
  • ***
  • 文章數: 400
    • 檢視個人資料
    • http://firefly.idv.tw
[題目]php程式設計面試考試.
« 回覆 #11 於: 2005-08-01 22:44 »
啊!我也出一題考大家,這題是小弟專門考新人的寫作技巧,順便考邏輯。

試寫一程式,輸入阿拉伯數字,轉換成中文大寫輸出,最大位數為 9 位數,不必考慮小數點。

例一:輸入 『354』,則輸出為『參佰伍拾肆』
例二:輸入 『20964』,則輸出為『貳萬零玖佰陸拾肆』

kiang

  • 活潑的大學生
  • ***
  • 文章數: 310
    • 檢視個人資料
    • 就這間電腦工作室
[題目]php程式設計面試考試.
« 回覆 #12 於: 2005-08-02 00:58 »
原來不只我在玩,下面是寫一半的程式;後來想想有很多需要思考的邏輯...

1000010 = 壹百萬零一拾

這個數字就可以讓人想很久了...看來要通過面試的人可能不多...我先睡覺去了......

代碼: [選擇]
<?php
if&#40;!is_null&#40;$_POST['key'&#93;&#41; && &#40;$len = strlen&#40;$_POST['key'&#93;&#41;&#41; <= 9 && is_numeric&#40;$_POST['key'&#93;&#41;&#41;
&#123;
$ano = array&#40;'零', '壹', '貳', '參', '肆', '伍', '陸', '柒', '捌', '玖'&#41;;
$bno = array&#40;'0', '1', '2', '3', '4', '5', '6', '7', '8', '9'&#41;;
$cno = array&#40;'拾', '佰', '仟', '萬', '億'&#41;;
$len strlen&#40;$_POST['key'&#93;&#41;;
for&#40;$i=$len; $i >= 0; $i--&#41;
&#123;
switch&#40;$i % 4&#41;
&#123;
case 0&#58;
break;
case 1&#58;
break;
case 2&#58;
break;
case 3&#58;
break;
&#125;

&#125;
echo str_replace&#40;$bno, $ano, $_POST['key'&#93;&#41;;

&
#125;
?>
<p>
<form method="post">
<input type="text" name="key">
<input type="submit">
</form>
****************************************************
Finjon Kiang / 江明宗
Just This Computer Studio / 就這間電腦工作室
Website: http://olc.tw
****************************************************

梁楓

  • 俺是博士!
  • *****
  • 文章數: 6220
    • 檢視個人資料
[題目]php程式設計面試考試.
« 回覆 #13 於: 2005-08-02 00:58 »
代碼: [選擇]
<?
// 給予位數的定義(前面二個空的是配合數字的習慣)
$num_chinese[0] = array('','','拾','佰','仟','萬','拾','佰','仟','億','拾','佰');
// 給予中文數字
$num_chinese[1] = array('零','壹','貳','參','肆','伍','陸','柒','捌','玖');
// 要顯示的阿拉伯數字
$_GET['num'] = 12345678901;
// 取得數字的長度
$num_qu = strlen($_GET['num']);
// 如果大於能計算的範圍(
if ($num_qu <= count($num_chinese[0])-1){
if( $i2 = $num_qu % $num_chinese[0] == 0 ) $i2=$num_qu;
for ($i = 0 ; $i <= $num_qu -1; $i++ )
{
$num = substr($_GET['num'],$i,1);
echo $num_chinese[1][$num],$num_chinese[0][$i2 - $i];
}
}
?>

唉...覺得一點都不簡單...
我一定是新手...

Darkhero

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 3728
  • 性別: 男
    • 檢視個人資料
    • ㄚ凱隨手紀
[題目]php程式設計面試考試.
« 回覆 #14 於: 2005-08-02 01:27 »
我也來亂寫..

代碼: [選擇]

function num2cnum($num){
    $cnum = array(
        "1" => "壹",    "2" => "貳",
        "3" => "參",    "4" => "肆",
        "5" => "伍",    "6" => "陸",
        "7" => "柒",    "8" => "捌",
        "9" => "玖",    "0" => "零"
        );

    $cnum2 = array(
        "1" => "",      "2" => "拾",
        "3" => "佰",    "4" => "仟",
        "5" => "萬",    "6" => "拾",
        "7" => "佰",    "8" => "仟",
        "9" => "億",    "10" => "拾"
    );

    $len = strlen($num);
    for($i = 0;$i < $len;$i++){
        $x = substr($num,$i,1);
        if($x != 0 and $l == 0){
            $retStr .= $cnum[$l];
            $retStr .= $cnum[$x];
        }else if($x != 0){
            $retStr .= $cnum[$x];
        }
        if($x != 0 or ($len - $i) == 5 or ($len - $i) == 9){
            if(substr($num,$i-3,4) != "0000" or $i < 3){
                $retStr .= $cnum2[$len - $i];
            }
        }
        $l = $x;
    }
    return $retStr;
}

echo num2cnum("354")."\n";
echo num2cnum("20964")."\n";
echo num2cnum("100000010")."\n";


糟糕..好像我寫的程式碼最長了.Q_Q.
希望我們的討論是為了把問題解決,而不是爭論誰對誰錯.
『灌水才是重點,發文只是順便』
『我寧可讓不會釣魚的工程師餓死,也不想讓會餓死的工程師去攪沉公司....』
Blog: http://blog.darkhero.net/
秘密基地: http://www.darkhero.net/comic/
目前服務的網站: http://www.libook.com.tw/

Darkhero

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 3728
  • 性別: 男
    • 檢視個人資料
    • ㄚ凱隨手紀
[題目]php程式設計面試考試.
« 回覆 #15 於: 2005-08-02 01:39 »
再次修正...
代碼: [選擇]

function num2cnum($num){
    $cnum = array(
        "1" => "壹",    "2" => "貳",
        "3" => "參",    "4" => "肆",
        "5" => "伍",    "6" => "陸",
        "7" => "柒",    "8" => "捌",
        "9" => "玖",    "0" => "零"
        );

    $cnum2 = array(
        "1" => "",      "2" => "拾",
        "3" => "佰",    "4" => "仟",
        "5" => "萬",    "6" => "拾",
        "7" => "佰",    "8" => "仟",
        "9" => "億",    "10" => "拾"
    );

    $len = strlen($num);
    for($i = 0;$i < $len;$i++){
        $x = substr($num,$i,1);
        if($x != 0 and $l == 0){
            $retStr .= $cnum[$l];
            $retStr .= $cnum[$x];
        }else if($x != 0){
            $retStr .= $cnum[$x];
        }
        if($x != 0 or ($len - $i) == 5 or ($len - $i) == 9){
            if(substr($num,$i-3,4) != "0000" or $i < 3){
                $retStr .= $cnum2[$len - $i];
                $x = 1;
            }
        }
        $l = $x;
    }
    return $retStr;
}

echo num2cnum("354")."\n";
echo num2cnum("20964")."\n";
echo num2cnum("101001010")."\n";


沒修正前
101001010 輸出 壹億零壹佰萬零壹仟零壹拾
這樣子修正後
101001010 輸出 壹億零壹佰萬壹仟零壹拾

也可以正確輸出 壹佰萬,壹億
希望我們的討論是為了把問題解決,而不是爭論誰對誰錯.
『灌水才是重點,發文只是順便』
『我寧可讓不會釣魚的工程師餓死,也不想讓會餓死的工程師去攪沉公司....』
Blog: http://blog.darkhero.net/
秘密基地: http://www.darkhero.net/comic/
目前服務的網站: http://www.libook.com.tw/

Darkhero

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 3728
  • 性別: 男
    • 檢視個人資料
    • ㄚ凱隨手紀
[題目]php程式設計面試考試.
« 回覆 #16 於: 2005-08-02 01:55 »
引述: "httang"
引述: "Darkhero"

      + - 3.下列何者非PHP的用途
          o 1.Server-Side Script
          o 2. Command line scripting
          o 3. Writing desktop applications
          o 4.以上皆是


我想提出中文語意上可能產生誤解的問題,如果改成
下列何者是php的用途?也是以上皆是耶@@..中文果然夠圓滑,怎麼解釋都通XD

感謝分享^_^


的確是....題目問法有需要修改一下...
感謝提醒~..
希望我們的討論是為了把問題解決,而不是爭論誰對誰錯.
『灌水才是重點,發文只是順便』
『我寧可讓不會釣魚的工程師餓死,也不想讓會餓死的工程師去攪沉公司....』
Blog: http://blog.darkhero.net/
秘密基地: http://www.darkhero.net/comic/
目前服務的網站: http://www.libook.com.tw/

ricky

  • 區域板主
  • 鑽研的研究生
  • *****
  • 文章數: 669
    • 檢視個人資料
    • Ricky 碎碎唸
[題目]php程式設計面試考試.
« 回覆 #17 於: 2005-08-02 10:37 »
我也來po一下吧
能處理的位數應該是夠了
('萬','億','兆','京','垓' .... 再接下去我也不知道要叫啥了)
代碼: [選擇]

<?php
/*
 中文數字念法是以10000為一個進位
 所以這邊把他拆成三個部份來顯示
*/
 
$val="23230002334567001";
 
$num=array&#40;'零','壹','貳','參','肆','伍','陸','柒','捌','玖'&#41;;
 
$digit=array&#40;'','拾','佰','仟'&#41;;
 
$mdigit=array&#40;'','萬','億','兆','京','垓'&#41;;
 
echo $val."\n";
//這邊我們先擷取出數字有幾個一萬的單位
//以上面$val來說2 3230 0023 3456 7001
//所以有5個單位
 
for&#40;$i=0;$i<=floor&#40;strlen&#40;$val&#41;/4&#41;;$i++&#41;
 
&#123;
//$i=0時表示第一組
//最前面的部份會有不足位數得特別獨立處理
//我們用了一個$StrIndex用來標記我們取位取到第幾組
  
if&#40;$i==0&#41;
  
&#123;
//這邊取出前頭的4位如果不足4位則取出最前面的部份
//把取出的部份放入$tmpval中
   
$tmpval=strlen&#40;$val&#41;%4?substr&#40;$val,$StrIndex,strlen&#40;$val&#41;%4&#41;&#58;substr&#40;$val,$StrIndex,4&#41;;
   
$StrIndex+=strlen&#40;$val&#41;%4?strlen&#40;$val&#41;%4&#58;4;
  
&#125; 
  
else
  &
#123;
   
$tmpval=substr&#40;$val,$StrIndex,4&#41;; 
   
$StrIndex+=4;
  &
#125;
  
$OutString='';
//這邊我們用了一個特殊技巧把字串反轉
//為什麼這麼做呢
//是這樣的
//以123來說好了
//我們要輸出成壹佰貳拾叁
//如果從前面取過來時我們得先判定這串數字是否足4位
//然後在決定輸出 這樣會造成式邏輯上判斷的複雜性
//所以我們從後面來當遇到文字結尾就知道結束嘍
//不要再繼續
//整個分析就變成
//3 2 1 => 3->叁   2->貳拾  1->壹佰
//然後再接回來就變成了壹佰貳拾叁
  
$tmpval=strrev&#40;$tmpval&#41;;   //反轉字串
  
for&#40;$j=0;$j<strlen&#40;$tmpval&#41;;$j++&#41;
  
&#123;
   
$currentdigits=substr&#40;$tmpval,$j,1&#41;;  //取出每一位的數字
//如果數字為0就不輸出後面接的位數例如零佰就不輸出佰只輸出零
   
if&#40;$currentdigits=='0'&#41; 
   
&#123;
//如果輸出為零可是前一個
//例如貳仟零佰零壹就會輸出成->貳仟零壹
    
if&#40;&#40;substr&#40;$OutString,0,2&#41;!='零'&#41;&&&#40;$j!=0&#41;&#41;
     
$OutString=$num[$currentdigits&#93;.$OutString;
   
&#125; 
   
else
    
$OutString=$num[$currentdigits&#93;.$digit[$j&#93;.$OutString;
  
&#125;
  
echo $OutString.$mdigit[floor&#40;strlen&#40;$val&#41;/4&#41;-$i&#93;."\n"; 
 
&#125;
?>

輸出
代碼: [選擇]

23230002334567001
貳京
參仟貳佰參拾兆
零貳拾參億
參仟肆佰伍拾陸萬
柒仟零壹
我的symfony作品:YOMOpets 寵物誌
有興趣可以一起來討論symfony喔
我的部落格:http://ricky.ez2.us/

梁楓

  • 俺是博士!
  • *****
  • 文章數: 6220
    • 檢視個人資料
[題目]php程式設計面試考試.
« 回覆 #18 於: 2005-08-02 11:45 »
Darkhero 你不及格
因為你沒寫註解...

--
快跑...不然我會被打... ccc

ricky

  • 區域板主
  • 鑽研的研究生
  • *****
  • 文章數: 669
    • 檢視個人資料
    • Ricky 碎碎唸
[題目]php程式設計面試考試.
« 回覆 #19 於: 2005-08-02 13:00 »
疑...
我好像也沒寫註解耶
趕快來加
我的symfony作品:YOMOpets 寵物誌
有興趣可以一起來討論symfony喔
我的部落格:http://ricky.ez2.us/

Darkhero

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 3728
  • 性別: 男
    • 檢視個人資料
    • ㄚ凱隨手紀
[題目]php程式設計面試考試.
« 回覆 #20 於: 2005-08-02 15:25 »
引述: "梁楓"
Darkhero 你不及格
因為你沒寫註解...

--
快跑...不然我會被打... ccc


XD...
我錯了...
我沒寫註解....

跑~?..阿基你怎麼跑都躲不起來吧...
希望我們的討論是為了把問題解決,而不是爭論誰對誰錯.
『灌水才是重點,發文只是順便』
『我寧可讓不會釣魚的工程師餓死,也不想讓會餓死的工程師去攪沉公司....』
Blog: http://blog.darkhero.net/
秘密基地: http://www.darkhero.net/comic/
目前服務的網站: http://www.libook.com.tw/

螢火飛

  • 酷!學園 學長們
  • 活潑的大學生
  • ***
  • 文章數: 400
    • 檢視個人資料
    • http://firefly.idv.tw
[題目]php程式設計面試考試.
« 回覆 #21 於: 2005-08-02 15:37 »
哇咧!大家都好厲害 :o  :o
我十年前作這個題目時,傻眼了好久,花了三天才寫出來。

其實這個題目,雖然是用來考新進人員的,但小弟並不要求一定要完全正確啦!只要觀念對就過關。

梁楓

  • 俺是博士!
  • *****
  • 文章數: 6220
    • 檢視個人資料
[題目]php程式設計面試考試.
« 回覆 #22 於: 2005-08-02 15:49 »
我大約花了半小時...

# 這個題目絕對不是新手題... 我差一點做不出來... 而且還有很多地方沒做好 ><~

螢火飛

  • 酷!學園 學長們
  • 活潑的大學生
  • ***
  • 文章數: 400
    • 檢視個人資料
    • http://firefly.idv.tw
[題目]php程式設計面試考試.
« 回覆 #23 於: 2005-08-02 21:24 »
引述: "梁楓"
我大約花了半小時...

# 這個題目絕對不是新手題... 我差一點做不出來... 而且還有很多地方沒做好 ><~

梁兄啊 :-)
小弟從頭到尾也沒說是新「手」題,小弟是說新「人(新進人員)」題。
要我現在寫,也沒把握一定完全正確,嘻嘻。

這道題目是有來由的喔!小弟以前在某家金融機構的時候,
由於需要列印電腦支票,奉命寫這個程式,那時是用COBOL(還有人記得COBOL嗎),
結果,電腦支票被小弟浪費了 N 張,被罵到臭頭咧!
因為印錯的電腦票每一張都要申報作廢,哈哈 :-p

dragon200e

  • 可愛的小學生
  • *
  • 文章數: 20
    • 檢視個人資料
[題目]php程式設計面試考試.
« 回覆 #24 於: 2005-08-04 21:35 »
15 題的題目其實會有一個警告訊息產生...   找不到 b 這個常數... 但是 $c 的值卻會是 10 沒有錯...  
我在想... 認證考試會不會也出這種題目來擾亂視聽...  ^^"

ps: zend PHP 認證降為 $125 了喔...   到八月底...

ricky

  • 區域板主
  • 鑽研的研究生
  • *****
  • 文章數: 669
    • 檢視個人資料
    • Ricky 碎碎唸
[題目]php程式設計面試考試.
« 回覆 #25 於: 2005-08-04 22:23 »
php對常數的處理原則是這樣
例如
$a=abcd;
如果abcd這個常數存在
就會套用abcd這個常數
如果不存在
那就直接將abcd當成是一串文字
套用給$a
我的symfony作品:YOMOpets 寵物誌
有興趣可以一起來討論symfony喔
我的部落格:http://ricky.ez2.us/

Darkhero

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 3728
  • 性別: 男
    • 檢視個人資料
    • ㄚ凱隨手紀
[題目]php程式設計面試考試.
« 回覆 #26 於: 2005-08-04 23:25 »
嗯... PHP 對於變數的寬鬆....
有時候是一種方便...但也很多時候是會造成混淆的...

當然..出題的話這就是一個很好的陷阱的出題方向...
希望我們的討論是為了把問題解決,而不是爭論誰對誰錯.
『灌水才是重點,發文只是順便』
『我寧可讓不會釣魚的工程師餓死,也不想讓會餓死的工程師去攪沉公司....』
Blog: http://blog.darkhero.net/
秘密基地: http://www.darkhero.net/comic/
目前服務的網站: http://www.libook.com.tw/

Higojump

  • 憂鬱的高中生
  • ***
  • 文章數: 103
    • 檢視個人資料
[題目]php程式設計面試考試.
« 回覆 #27 於: 2005-08-12 17:07 »
我寫了三天才寫出來
代碼: [選擇]

<?

$number="3434558021";
$arr=array("","拾","百","千");
$arr1=array("","萬","億","兆");
$arr2=array("","壹","貳","參","肆","伍","陸","柒","捌","玖");

$len=strlen($number);
for($i=0;$i<$len;$i++)
{
//數字不是零,但前面的數字是零,顯示零
if($number[$i]!=0 && $number[($i-1>0)?$i-1:0]==0)
{
echo "<font color=brown>零</font>";
}
//數字轉為文字
echo $arr2[$number[$i]];
$pos=$len-($i+1);
//顯示拾百千的單位
if($pos%4!=0 && $number[$i]!=0)
{
echo "<font color=blue>".$arr[$pos%4]."</font>";
}
//顯示萬億兆的單位
if($pos%4==0)
{
if(substr($number,($i-3>0)?$i-3:0,4)!="0000")
{
echo "<font color=red>".$arr1[$pos/4]."</font>";
echo "<br>";
}
}
}
------------------------------
大雄這一生中只愛過兩個男人
胖虎跟小夫
-------------------------------