現在說函數,php裡的函數也好簡單
<?phpfunction a(){echo "hello";} a(); ?>
function就是定義了一個函數,跟javascript一樣 而且還不需要函數類型,就連形參也不需要
<?php$a=1; function a($a){echo $a;} a($a); ?>
輸出1
<?php$a=1; function a($a){$a=$a+1;echo $a;} a($a); ?>
輸出2
<?php$a=1; function a($a){$a=$a+1;echo $a;} a($a);echo $a; ?>
最後的a其實就是開始的a 會列印1
當然函數可以有傳回值的
<?phpfunction a(){return 1;} echo a(); ?>
列印1
另外php函數還有一點與其他程式設計語言不同的地方,就是可以直接給形參賦預設值
<?php$a=2; function add($a,$b=3){return $a+$b;} echo add($a); ?>
列印5
這點是不是很優越
當然,你也可以給b傳個其他值
<?php$a=2; function add($a,$b=3){return $a+$b;} echo add($a,$b=5); ?>
列印7
下面簡單的說下php的引入
早在C語言就有這個概念,引入標頭檔
php有兩個函數可以引入檔案
include() 函數和 require() 函數 英語意思分別是包含和引入,意思差不多哈
兩個函數功能其實是一樣的,但有一點區別
include() 函數如果發生錯誤(比如引入檔案不存在),後面在代碼還會照樣執行
require() 函數一旦發生錯誤,後面代碼不再執行,也就是中斷程式
下面看
建立一個php檔案a.php在 根目錄
代碼如下
<?phpecho "hello";?>
很簡單
然後另一個php檔案引入
<?phpinclude 'a.php';echo "hello";?>
會列印兩個hello
如果檔案不存在
<?phpinclude 'a1.php';echo "hello";?>
會有警告,但第2個hello會照樣列印
而
<?phprequire 'a1.php';echo "hello";?>
會報致命錯誤,第2個hello不會列印
另外引入require ('a.php'); 也可以加括弧,也可以不加,引號也可以雙引號或單引號
另外還有 include_once()和 require_once()
功能和include,require一樣,但它會在引入檔案前判斷一下前面是否已經引入了,如果前面已經引入,就不再引入
<?phprequire ('a.php');require ('a.php');?>
列印兩個hello
<?phprequire ('a.php');require_once ('a.php');?>
列印一個hello
就算前面是include也一樣
<?phpinclude ('a.php');require_once ('a.php');?>
列印一個hello
include_once()作用與上面一樣
一般都用的require_once 居多,特別在大型項目中
include一般是引入html的頭部和尾部的html代碼,很少去引入php的代碼
require就是引入類或函數了
其實如果足夠自信確認不會有多引入相同檔案,用require是完全沒問題的,且效率還要高點,至少不需要判斷,但大型項目就慎用了,因為是團隊合作,別人寫的代碼可能引入了你要引入的檔案,自己又不可能去一一檢查,所以用require_once是合適的
另外在說一個小問題,引入純php檔案(沒有html代碼) 最好那個被引入檔案不要有回閉標籤 ?>
其實php代碼(沒有html)
<?phpecho "hello";
是能夠執行的,你不寫系統讀到文檔最後發現沒有會預設補一個
為什麼要這樣呢?
因為按普遍來說
<?phpecho "hello";?>
然後另一個php引入
<?phprequire ('a.php');echo "hello";?>
會列印hellohello
但是如果你一不小心
<?phpecho "hello";?> ------------游標在>後面時候你打個幾個斷行符號---------這裡有斷行符號符號了,不過你看不到------------斷行符號符號-------------
大多數人有這樣的習慣吧
然後再引入列印
<?phprequire ('a.php');echo "hello";?>
會列印
hello hello 中間會隔著一個空格
而不加?> 就不會有這種情況
所以說。。除非你確保回閉標籤?>後面不有任何符號(斷行符號,空格等)
你就可以用回閉標籤
其實,現在很多項目都意識到這點。寫類基本很少用回閉標籤
以上就是php學習正式起航(4)的內容,更多相關內容請關注topic.alibabacloud.com(www.php.cn)!