① 在PHP代碼中變數和函數是如何定義的
PHP 變數規則:
變數以 $ 符號開頭,其後是變數的名稱
變數名稱必須以字母或下劃線開頭
變數名稱不能以數字開頭
變數名稱只能包含字母數字字元和下劃線(A-z、0-9 以及 _)
變數名稱對大小寫敏感($y 與 $Y 是兩個不同的變數)
在 PHP 創建用戶定義函數
用戶定義的函數聲明以關單 "function" 開頭:
② PHP中的函數
ThinkPHP中 C(),D(),S()
1.在具體的Action方法裡面,可以用C()對某些參數進行動態配置,主要指那些還沒有使用的參數。具體用法如下:
C('參數名稱'); //獲取已經設置的參數值
C('參數名稱','新的參數值'); //設置新的值
2.D()函數的使用:
先定義好模型類,如UserModel,然後就可以用D()函數對數據進行操作了。例如:
先在"你的項目"\Lib\Model下建立一個名為UserModel.class.php的PHP腳本,內容如下:
class UserModel extends Model{}
然後,無需增加任何屬性和方法,就可以進行如下操作:
$User = D("User"); //實例化User對象,User是你在資料庫建立的一個名為"前綴_user"的數據表
也可以用$User = new UserModel()代替,進行實例化對象的操作。
實例化之後,就可以對數據進行增刪查改等一系列操作了,如:
$User->find(1); //查找主鍵為1的記錄
3.S()函數的使用:
ThinkPHP把各種緩存方式都抽象成統一的緩存類來調用,而且ThinkPHP把所有的緩存機制統一成一個S方法來進行操作,所以在使用
不同的緩存方式的時候並不需要關注具體的緩存細節。如:
S('data',$Data); //使用data標識緩存$Data數據
S('data',$Data,3600); //緩存$Data數據3600秒
$Data = S('data'); //獲取緩存數據
③ php如何能創建一個函數全局都可以隨時調用。
把你要用到的函數都寫在一個文件裡面,
在入口文件裡面直接去include這個文件.
這樣不會佔用你太多資源的 ,因為PHP解釋器在執行請求的過程中,會判斷請求用到的函數去調用.即使文件被包含,也是服務端的處理工作,不會被發送到請求的發送端.對效率的影響可以忽略不計.
④ PHP練習題
一.
1.(1)php.ini
(2)/etc/httpd/conf/ 下的這三個文件 httpd.conf access.conf srm.conf
2.(1)gettype-獲取變數的類型由於包含字元串的比較運行較慢,現在使用 is_int()判斷變數是否是整型若是則返回true、is_array()判斷是否是雙精度型還有is_array(),is_string()等函數是判斷數
據類型的
(2)settype-轉換
3.(1)is_null()(2)isset()
4.$
5.trim(),rtrim()
二.
1.A
2.B
3.C
4.D
5.D
6.A
7.C
8.A
9.C
10.B
11.C
12.B
13.A
14.A
15.C
16.A
17.D
18.C
19.C
20.A
27.C
28.C
29.B
30.A
⑤ php中自定義函數正確的語句是
像數學中的函數一樣,y=f(x)是函數基本的表達形式,x可看做是參數,y可看做是返回值,即函數定義就是一個被命名的、獨立的代碼段,它執行特定的任務,並可能給調用它的程序返回一個值。
自定義函數 函數的聲明
在編寫程序的過程中,我們會經常碰到某些功能模塊在PHP中沒有提供系統函數,這樣就需要我們自己定義函數,即自定義函數,自定義函數的規則如下:
每個函數的第一行都是函數頭,由聲明函數的關鍵字function、函數名和參數列表三部分組成。
每個自定義函數都必須使用function關鍵字聲明。
函數名可以代表整個函數,可以將函數命名為任何名稱,只要遵循變數名的命名規則即可。但函數名稱必須唯一,且不能與系統函數重名。
聲明函數時函數名後面的花括弧也是必須有的,在花括弧中表明了一組可以接受的參數列表,參數就是聲明的變數,然後在調用函數時傳遞給它值。參數列表可以沒有,也可以有—個或多個參數,多個參數使用逗號分隔。
函數體位於函數頭後面,用花括弧括起來。函數被調用後,執行到retun語句或最外面的花括弧後結束,返回到調用的程序。
使用關鍵字return可以從函數中返回一個值,然後返回到調用程序處繼續執行。
<?php
/* 將使用雙層for循環輸出表格的代碼聲明為函數,函數名為table */
functiontable(){
echo"<table align='center' border='1' width='600'>";
for(out=0;out<10;out++){
bgcolor=out%2==0?"red":"blue";//各行換背景色
echo"<tr bgcolor=".bgcolor.">";
for(in=0;in<10;in++){
echo"<td>".(out*10+in)."</td>";
}
echo"</tr>";
}
echo"</table>";
}
?>
函數的調用
不管是自定義的函數還是系統函數,如果函數不被調用,就不會執行。函數被調用後開始執行函數體中的代碼,執行完畢返回到調用的位置繼續向下執行。調用規則如下:
通過函數名稱去調用函數。
如果函數有參數列表,還可以通過函數名後面的圓括弧傳入對應的值給參數,在函數體中使用參數來改變函數內部代碼的執行行為。
如果函數有返回值,當函數執行完畢時就會將return後面的值返回到調用函數的位置處。
<?php
/* 將使用雙層for循環輸出表格的代碼聲明為函數,函數名為table */
functiontable(){
echo"<table align='center' border='1' width='600'>";
for(out=0;out<10;out++){
bgcolor=out%2==0?"red":"blue";//各行換背景色
echo"<tr bgcolor=".bgcolor.">";
for(in=0;in<10;in++){
echo"<td>".(out*10+in)."</td>";
}
echo"</tr>";
}
echo"</table>";
}
?>
<?php
table();
?>
函數的參數
參數列表是由零個、一個或多個參數組成的。每個參數是一個表達式,用逗號分隔。對於有參函數,在PHP腳本程序中和被調用函數之間有數據傳遞關系。定義函數時函數名後面括弧內的表達式稱為形式參數(簡稱「形參」),被調用函數名後面括弧中的表達式稱為實際參數(簡稱「實參」),實參和形參需要接順序對應傳遞數據。如果函數沒有參數列表,函數執行的任務就是固定的,用戶在調用函數時不能改變函數內部的一些執行行為。
Demo
<?php
/**
自定義函數table()時,聲明三個參數,參數之間使用逗號分隔
@paramstringtableName 需要一個字元串類型的表名
@paramintrows 需要一個整型數值設置表格的行數
@paramintcols 需要另一個整型值設置表格的列數
*/
functiontable(tableName,rows,cols){
echo"<table align='center' border='1' width='600'>";
echo"<caption><h1>tableName</h1></caption>";
for(out=0;out<rows;out++){//使用第二個參數rows指定錶行數
bgcolor=out%2==0?"red":"blue";
echo"<tr bgcolor=".bgcolor.">";
for(in=0;in<cols;in++){//使用第三個參數cols指定表列數
echo"<td>".(out*cols+in)."</td>";
}
echo"</tr>";
}
echo"</table>";
}
?>
<?php
table("千度的表格",10,10);
?>
函數的返回值
函數的返回值是函數執行的結果,調用函數的腳本程序不能直接使用函數體裡面的信息,但可以通過關鍵字return向調用者傳遞數據。return語句注意點如下:
return語句可以向函數調用者返回函數體中任意執行結果值。
在函數體中如果執行了return語句,它後面的語句就不會被執行。
<?php
/**
自定義函數table()時,聲明三個參數,參數之間使用逗號分隔
@paramstringtableName 需要一個字元串類型的表名
@paramintrows 需要一個整型數值設置表格的行數
@paramintcols 需要另一個整型值設置表格的列數
*/
functiontable(tableName,rows,cols){
returnStr="這是返回的字元串";
echo"<table align='center' border='1' width='600'>";
echo"<caption><h1>tableName</h1></caption>";
for(out=0;out<rows;out++){//使用第二個參數rows指定錶行數
bgcolor=out%2==0?"red":"blue";
echo"<tr bgcolor=".bgcolor.">";
for(in=0;in<cols;in++){//使用第三個參數cols指定表列數
echo"<td>".(out*cols+in)."</td>";
}
echo"</tr>";
}
echo"</table>";
returnreturnStr;
}
?>
<?php
echotable("千度的表格",10,10);
?>
⑥ php function 怎麼用
用戶自定義函數也稱自定義函數,它們不是PHP提供的,是由程序員創建的.由於自己創建了這樣的函數,所以就可以完全控制這些函數.因此可以讓一個函數完全按照自己希望的方式運行
1,申明函數
在PHP中,定義函數的方法同其他編程語言幾乎一樣.下面是PHP申明函數的語法結構:
復制代碼代碼如下:
Function function_name($argument1,$argument2,$argument3,......$argumentn)
{
//函數代碼code
Return 返回值;
}
以上語法結構中,關鍵字的含義如下.
(1)function:用於申明用戶自定義函數的關鍵字.
(2)function_name:要創建的函數名稱.該名稱將在以後被調用時使用.函數名應該唯一,因為PHP不支持重載.在命名函數的時候,需要遵循和變數命名
相同的原則.但是函數名不能以$開頭,而變數可以.
(3)argument:要傳遞給函數的值.函數可以有多個參數,它們之間用逗號.但是參數項是可選的,可以在調用函數的時候不傳遞任何參數.
(4)code:是在函數被調用的時候執行的一段代碼.如果有兩條或者多條語句,則代碼必須用大括弧"{}"括起來.但是,如果只有一條代碼,則不需要大括弧.
(5)Return:將調用的代碼需要的值返回.任何類型都可以返回,包括列表和對象.這導致函數立即結束它的運行,並且將控制權傳遞回它被調用的行.
2,無參數函數
代碼func_1.php
復制代碼代碼如下:
<?php
require 'a.php';
echo "我不會被執行!";
?>
3,有參數函數
PHP支持按值傳遞參數(默認),通過引用傳遞和默認參數值.可變長度參數列表僅在PHP4和後繼版本中被支持.
(1)值傳遞參數.按值進行參數傳遞是PHP的默認傳遞方式.使用這個方法,必須在主程序調用時傳遞一個值(參數).
代碼sum.php
復制代碼代碼如下:
<?php
function sum ($a,$b)
{
Echo $a+$b;
}
sum(100,20); //開始調用該函數
?>
(2)引用參數.在按照值傳遞的時候,只有參數的副本傳遞給被調用的函數.但是在被調用函數內部對這些值的任何修改,都不會影響調用函數
中的原始值.引用傳遞其實也就是地址傳遞,將一個變數的地址作為參數傳遞.
代碼valuechange.php
復制代碼代碼如下:
<?php
$myNum=100;
function Valuechange ($number)
{
$number=$number+1;
Echo $number . "<br>";
}
Valuechange($myNum);
Echo $myNum;
?>
(3)默認值參數.使用默認的參數值傳遞方法,函數必須在調用的時候有一個參數.如果沒有使用的值,就把默認值傳遞給函數參數.默認值必須是常量表達式,不是變數,
類成員或者函數調用.
提示:當使用默認參數時,任何默認參數必須放在非默認參數的右側;否則,可能函數不會按照預期的情況工作.
代碼func_default.php
復制代碼代碼如下:
<?php
$myNum=100;
function Valuechange ($number)
{
$number=$number+1;
Echo $number . "<br>";
}
Valuechange($myNum);
Echo $myNum;
?>
⑦ php中的自定義函數
把php.ini中的錯誤顯示級別調低一點,把display_errors 設置成off,那些notice就沒有了,fatal error是因為沒有發現那個函數,看是不是路徑不對,或者許可權的問題,函數的聲明
function functionname(){ do something } 函數的調用functionname(); functionname是要聲明函數的名稱,dosomething是要執行的一些代碼。
⑧ PHP如何建立函數實現以下要求
這個首先要寫一個表單,獲取你所需要的手輸入的數字。然後的話,再將數字拉到PHP裡面進行下一步的處理,也就是輸出她以及她比她小的所有數之間的一個乘法公式就可以了。
⑨ 在PHP中聲明一個函數,該函數名myFu nction,接受一個形參,正確方法
<?PHP
function myFunction($pram){
}
?>