看板 PHP 關於我們 聯絡資訊
※ 引述《tempTTP1 (任劍翔)》之銘言: : 大家好: : 小弟借了一本php的書,但是書裡的內容寫得太模糊了,而且印刷有很多錯誤 : 麻煩大家知道的話幫忙解答一下...感謝~ : 1. 內建常數__FILE__的值代表目前被執行的檔案名稱 : 書上寫說以circle_const.php為例,就是/home/httpd/html/circle_const.php : 所以他顯示是完整路徑嗎?home前一個資料夾為什麼都沒有寫? home已經是根目錄下的第一層子目錄. 再上去沒有了. : 2. 內建常數TRUE的值是"邏輯判斷中為真的值",請問是說目前不為0或空字串的變數嗎? true是保留字, 在php裏是內建的, 代表邏輯判斷中為'真'的'值'. false是true的相反,意指為'假'.它們都是'常數',不是變數. : 3. $foo=1+"10 boxes";他說$foo型態為整數,$foo=11,是規定的嗎?還是boxes是保留 : 字? : $foo="10boxes"+1.0;他說$foo型態為雙精確度數,$foo=11.0 問題同上 boxes不是保留字, 就算是保留字, 被"括起來也變成是一個字串了. 1+"10 boxes"會等於11? 我不建議用這種描述, 太危險了. 很容易產生出乎意外 的結果. 這應該是根據php資料型態轉換的規則所得到的結果. : 4. <? : echo "Hello!\n"; : echo "World!"; : ?> //結果:Hello! World! : <? : echo "Hello!<br>\n"; : echo "World!"; : ?> //結果:Hello! : // World! : 書上說"php輸出到網頁文件中,但是html則輸出在使用者瀏覽器上",所以還要 : 加上"<br>",但是這樣不就不需要那些脫逸字元了嗎?還有上句話能解釋一下嗎? 先在腦中裏想像最原始的文字輸出結果就好. 第一個例子中的原始文字輸出是: (以下輸出結果前後各加上一道空白行, 是為了增加可讀性, 而非輸出的一部份.) Hello! World! 當你把它當成是html語言來看的話,它在瀏覽器上呈現的就是: Hello! World! 第二個例子中的原始文字輸出是: Hello!<br> World! 當你把它當成是html語言來看的話,它在瀏覽器上呈現的就是: Hello! World! : 5. "include和require的差別是include在執行時才把引用檔案載入,require是執行前 : 預先載入",所以"判斷敘述或廻圈中要引用檔案就要用include" : 那也可以用require嗎?也可以要用函示再用include嗎? 這個可以寫個簡單的程式做測試, ex: [test.php] <?php include 'test2.php'; require 'test2.php'; include 'test2.php'; ?> [test2.php] <?php if ( true ) echo 'hello:'.rand(0,10)."\n"; ?> 在命令列模式下執行: php -q test.php 原始文字輸出結果: hello:7 hello:5 hello:1 可見不管是用require or include, 都會執行被包含進來的程式碼. 至於函式, 更沒問題了. 不過若是用include 或 require 包含函式進來的話, 要注意重複宣告的問題. 要避免這問題, 可用 include_once 或 require_once 來解決. 我是用php5.2版本測試的. : ~感謝解答 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.67.139.64
tempTTP1 :推~ 那__FILE__就是一定會包含/home/httpd/html/嗎? 06/24 23:42
bobju :寫行<?php echo __FILE__;?> 測試就知. 06/25 00:58
tempTTP1 :那php要先安裝嗎?(抱歉我剛開始學) 06/25 23:23
maplenote :兩者的差異http://0rz.tw/V9noF (奇摩知識的) 06/26 09:44
maplenote :要跑PHP 當然要先裝囉~ 06/26 09:44
tempTTP1 :感謝~ 06/26 10:10