當前位置:首頁 » 編程語言 » php使用函數

php使用函數

發布時間: 2022-08-09 00:30:46

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函數很多,常備php的幫助手冊是關鍵,遇到不熟的就查,查的次數多了,自然就變成「常用」了。

一般來說,字元串、數組、資料庫類的函數是相對來使用比較多的類別。

以下羅列了一下函數,僅供參考一閱。

============================================

//===============================時間日期===============================
//y返回年最後兩位,Y年四位數,m月份數字,M月份英文。d月份幾號數字,D星期幾英文
$date=date("Y-m-d");

//include,include_once.require,require_once
//require("file.php") 在PHP程序執行前就會先讀入require所指定引進的文件,如出現錯誤是致命的。
//include("file.php") 可以放在PHP程序的任何位置,PHP程序執行到時才讀入include指定引入的文件,如出現錯誤會提示

//===============================輸出列印===============================
//sprintf("%d","3.2") ;//只格式化,返回格式化後的字元串,不輸出。
//printf("%d","3.2") ;//即格式化,又輸出
//print("3.2") ;//只輸出
//echo "nihao","aa";//可以輸出多個字元串
//print_r(array("a","b","c"));//將數組的鍵值與元素依次顯示

//===============================常用字元串函數===============================

//獲取字元串長度,有多少個字元,空格也算
$str=" sdaf sd ";
$len=strlen($str);

//用第一個參數里的字元串,把後面數組里的每個元素連接起來,返回一個字元串。
$str=implode("-",array("a","b","c"));

//字元串分割方法,返回一個數組,用第一個參數里的字元分割後面的字元串,指定字元的前後和之間都截取,如果指定字元在開頭或結尾則返回的數組開頭或結尾的元素為空字元串
//沒有分割到字元串就返回給數組對應元素一個空值。最後一個限制返回數組長度,可不限制,則一直分割下去。
$array=explode("a","asddad addsadassd dasdadfsdfasdaaa",4);
//print_r($array);

//剔除字元串左邊開頭的空格,並返回
//如有第二個參數則是剔除左邊開頭的空格換成剔除第二個參數里的字元串
$str=ltrim("a asd ","a");

//剔除字元串右邊開頭的空格
$str=rtrim(" asd ");

//把第一個字元串兩邊以第二個參數開頭的字元串剔除。如沒有第二個參數,默認剔除掉字元串兩邊開頭的空格
$str=trim(" sdsdfas ","a");

//從字元串第一個參數里的指定位置開始取多長(多少個)字元,字元串中第一個字元位置從0算。
//如果第二個參數為負則從字元串結尾倒數第幾個開始取多長的字元串。結尾最後一個字元算-1,截取方向總是從左到右
$str=substr("abcdefgh",0,4);

//將第三個參數的第一個參數字元串用參數二字元串替換
$str=str_replace("a","","abcabcAbca");
//與str_replace用法同,只是不區分大小寫
//$str=str_ireplace("a"," ","abcabcAbca");

//返回括弧里字元串的字元全部大寫的字元串
$str=strtoupper("sdaf");

//將括弧里第一個字元串變成大寫後返回
$str=ucfirst("asdf");

//用echo等將括弧里字元串列印在網頁上時原汁原味列印出括弧里的字元串,包括標簽字元
$str=htmlentities("<br/>");

//返回第二個參數字元串在第一個字元串里出現的次數
$int=substr_count("abcdeabcdeablkabd","ab");

//返回第二個字元串在第一個字元串第一次出現的位置,第一個字元位置算0
$int=strpos("asagaab","ab");

//返回第二個字元串在第一個字元串最後一次出現的位置,第一個字元位置算0
$int=strrpos("asagaabadfab","ab");

//截取返回參數一中從左至右第一個出現的參數二到參數一最後一個字元的字元串
$str=strstr("sdafsdgaababdsfgs","ab");

//截取返回參數一中從左至右最後一個出現的參數二到參數一最後一個字元的字元串
$str=strrchr("sdafsdgaababdsfgs","ab");

//將參數二中每一個字元在參數一中相同字元前加"\"
$str=addcslashes("abcdefghijklmn","akd");

//將參數一的字元串填充到參數二指定的長度(單字元個數),參數三為指定填充的字元串,不寫默認空格
//參數四填充位置,0在參數一左側開頭填充,1右側開頭,2兩邊開頭同時。不寫默認在右側開頭填充
$str=str_pad("abcdefgh",10,"at",0);

//依次比較兩字元串對應字元阿斯克碼值,第一對不一樣的,如果參數一里大於參數二里的返回1,反之返回-1,兩字元串完全一樣返回0
$int1=strcmp("b","a");

//返回第一個參數格式化後的數字格式,第二個參數為保留幾個小數,參數三為將小數點換成參數三,參數四為整數部分每三位用什麼字元分割
//後面三個參數都不寫,則默認去掉小數部分,整數每隔三位用逗號,分割。參數三,參數四必須同時存在
$str=number_format(1231233.1415,2,"d","a");

//===============================常用數組方法===============================

$arr=array("k0"=>"a","k1"=>"b","k2"=>"c");

//返回數組元素個數
$int=count($arr);

//判斷第二參數的數組元素中是否有第一個參數元素
$bool=in_array("b",$arr);

//返回括弧中數組所有鍵值組成的新數組原數組不改變
$array=array_keys($arr);

//判斷第二個參數的數組中是否有第一個參數的鍵值,返回真假
$bool=array_key_exists("k1",$arr);

//返回原數組中所有元素值組成的新數組,鍵值從0開始自增,原數組不變
$array=array_values($arr);

//返回當前數組指針指向的鍵值
$key=key($arr);

//返回當前數組指針指向的元素值
$value=current($arr);

//返回當前數組指針指向元素的鍵值及元素值組成的數組,再將指針推向下一位,最後指針指向的是一個空元素返回空
//返回的數組中有四個固定鍵值對應的元素值分別是返回元素的鍵值及元素值,其中0,'key'鍵值都對應返回元素鍵值,1,'value'鍵值都對應返回的元素值
$array=each($arr);

//先將數組指針推向下一位,再返回指針移動後指向的元素值
$value=next($arr);

//將數組指針推向上一位,再返回指針移動後指向的元素值
$value=prev($arr);

//讓數組指針重置指向第一個元素並返回元素值
$value=reset($arr);

//將數組指針指向最後一位元素,並返回最後一位元素值
$value=end($arr);

//將第一個參數以後的參數作為元素追加入第一個參數數組的末尾,索引從最小的沒用過的數值開始計,返回之後的數組長度
$int=array_push($arr,"d","dfsd");

//將第一個參數數組後面所有參數作為元素添加到第一個參數數組開頭處,鍵值以0從第一個元素處重新累加,原非數值的鍵值保持不變,原元素排序位置不變,返回之後的數組長度
$int=array_unshift($arr,"t1","t2");

//返回從數組尾部提取最後一個元素值,並把最後一個元素從原數組中剔除
$value=array_pop($arr);

//array_pop相反,提取返回數組頭一個元素值,並把頭一個元素從原數組中剔除
$value=array_shift($arr);

//讓第一個參數數組達到第二個參數數值長度,將第三個參數作為元素添加到第一個參數數組的末尾,索引從最小沒用過數值開始計並返回,原數組不改變
$array1=array_pad($arr,10,"t10");

//返回一個將原數組中多餘重復元素剔除掉的新數組,原數組不改變
$array=array_unique($array1);

//將原數組鍵值打破重新以元素值的阿斯克碼值從小到大排序,索引從數字0開始重計
$int=sort($array);

//和sort相反,以元素值阿斯柯碼值大小降序重新排序,索引從0重新計
$int=rsort($array);

//返回將第一個參數數組中每一個元素值依次作為鍵值付給參數二數組的數組,兩數組長度必須一致,原數組不改變
$array=array_combine(array("a","b","c","d","e"),$arr);

//將兩個數組合並並返回原數組不變
$array=array_merge($arr,array("a","b","c"));

//在第一個參數數組中從第二個參數數值位置開始截取到第三個參數數值長度的數組鍵值+元素並返回,數組第一個元素位置從0計
$array=array_slice($arr,2,1);

//截取功能和array_slice()一樣,只是將截取部分在原數組中剔除
$array=array_splice($arr,2,1);

//將第一個參數作為第一個元素,每次自增參數三的值,自增後再作為一個元素存在數組中,直到值達到參數二的值存到數組中為止並返回這個數組
//參數一,參數二可以是數字,可以是單個字元,單字元就按阿斯柯碼值算,第三個參數不寫默認每次自增1
$array=range(3,9,2);

//將原數組元素與對應鍵值的對應關系重新隨機排列返回真假
$bool=shuffle($arr);

//計算數組中所有數值型元素值的和
$int=array_sum(array("a",2,"cssf"));

//把一個數組分割為新的數組塊,新數組每個元素都是一個數組,新數組每個元素內有幾個元素由參數二決定
//第三個參數決定元素的鍵值是否保留原鍵值可不寫,true為保留,默認false不保留
$array=array_chunk(array("a"=>"a","b","c","d","e","f","g","h"),2,true);

⑶ 用自己的語言說出php中數組的常用函數和用法

array_filter : 過濾數組中的無效元素,可以使用回調函數過濾

array_map : 使用回調函數依次處理所有元素

implode: 將一維數組轉為特定符號隔開的字元串,

explode: 將特定符號隔開的字元串轉為一維數組

sort /ksort: 將數組進行升序排序

array_unique: 將數組元素去重

array_values: 取數組的值,重新組成新數組

array_pop: 取數組末尾元素並刪除(隊列)

array_push:將一個元素插入數組末尾(隊列)

array_sum:統計數組元素的和

array_column:將二維數組中的指定KEY取出組成一個一維數組

網頁鏈接


⑷ PHP 函數有哪些

array_values($arr); 獲得數組的值
array_keys($arr); 獲得數組的鍵名
array_flip($arr); 數組中的值與鍵名互換(如果有重復前面的會被後面的覆蓋)
in_array("apple",$arr); 在數組中檢索apple
array_search("apple",$arr); 在數組中檢索apple ,如果存在返回鍵名
array_key_exists("apple",$arr); 檢索給定的鍵名是否存在數組中
isset($arr[apple]): 檢索給定的鍵名是否存在數組中

current($arr); 返回數組中的當前單元
pos($arr); 返回數組中的當前單元
key($arr); 返回數組中當前單元的鍵名
prev($arr); 將數組中的內部指針倒回一位
next($arr); 將數組中的內部指針向前移動一位
end($arr); 將數組中的內部指針指向最後一個單元
reset($arr; 將數組中的內部指針指向第一個單元
each($arr); 將返回數組當前元素的一個鍵名/值的構造數組,並使數組指針向前移動一位
list($key,$value)=each($arr); 獲得數組當前元素的鍵名和值

數組和變數之間的轉換
extract($arr);用於把數組中的元素轉換成變數導入到當前文件中,鍵名當作變數名,值作為變數值
註:(第二個參數很重要,可以看手冊使用)使用方法 echo $a;
compact(var1,var2,var3);用給定的變數名創建一個數組

等等 還有好多 ,看一一看

⑸ php調用自定義函數

PHP代碼call_user_func函數類似於一種特別的調用函數的方法,使用方法如下:
function
a($b,$c)
{
echo
$b;
echo
$c;
}
call_user_func('a',
"111","222");
call_user_func('a',
"333","444");
//顯示
111
222
333
444
?>
調用類內部的方法比較奇怪,居然用的是array,不知道開發者是如何考慮的,當然省去了new,也是滿有新意的:
class
a
{
function
b($c)
{
echo
$c;
}
}
call_user_func(array("a",
"b"),"111");
//顯示
111
?>
call_user_func_array函數和call_user_func很相似,只不過是換了一種方式傳遞了參數,讓參數的結構更清晰:
function
a($b,
$c)
{
echo
$b;
echo
$c;
}
call_user_func_array('a',
array("111",
"222"));
//顯示
111
222
?>
call_user_func_array函數也可以調用類內部的方法的
Class
ClassA
{
function
bc($b,
$c)
{
$bc
=
$b
+
$c;
echo
$bc;
}
}
call_user_func_array(array('ClassA','bc'),
array("111",
"222"));
//顯示
333
?>
call_user_func函數和call_user_func_array函數都支持引用,這讓他們和普通的函數調用更趨於功能一致:
function
a($b)
{
$b++;
}
$c
=
0;
call_user_func('a',
$c);
echo
$c;//顯示
1
call_user_func_array('a',
array($c));
echo
$c;//顯示
2
另:call_user_func函數和call_user_func_array函數都支持引用。
?phpfunction
increment(&$var){
$var++;}$a
=
0;call_user_func('increment',
$a);echo
$a;
//
0call_user_func_array('increment',
array(&$a));
//
You
can
use
this
insteadecho
$a;
//
1?

⑹ PHP中如何調用函數

如果agree有顯示結果
可以這樣做
<input type='button' name='No' value="Disagree" onClick="location.href=location.href+'?a=1'">
<?
if($_GET['a']=='1')
{
id=1;
agree($id,$startdate,$enddate,$days);
}
?>

其實你應分前後台,
分兩個文件,
一個顯示給客戶,在ie上運行,叫前台
一個處理事務在伺服器上運行,叫後台
用js從顯示頁跳轉到處理頁(或用提交表單,可處理更多信息)
處理完再跳轉到顯示頁

⑺ php調用函數的方法

你那個set()函數本身有問題
test.php
<?php
require_once "test2.php";
set();
?>

test2.php
<?php
function set(){
echo "wdqwdqwdqw"
}
?>

弄個簡單的函數自己測試一下不就行了

⑻ php如何調用函數

PHP函數調用與Java/C/C++是一樣的額,通過函數名(參數列表)就可以了,

舉個栗子:

圖中,有兩處函數調用,一開始的session_start()是調用的PHP函數,validate_user($username, $password)是用戶自定義函數,同樣的方式調用。

⑼ php中使用函數的優點

使用函數可以使程序可讀性強,整潔,還有利於面向對象編程

⑽ PHP常用函數有哪些

常用函數比較多
如:字元串處理函數,數組函數,日期函數,MySQL函數,文件系統函數,GD函數庫等

熱點內容
阿特茲藍天時尚版有哪些配置 發布:2025-01-21 16:32:59 瀏覽:469
怎麼把安卓手機視頻導入蘋果ipad 發布:2025-01-21 16:10:43 瀏覽:997
c語言實現編譯器 發布:2025-01-21 16:03:19 瀏覽:392
做解壓橡皮 發布:2025-01-21 15:03:06 瀏覽:991
雙系統win訪問mac 發布:2025-01-21 14:53:52 瀏覽:485
安卓車機系統如何安裝carplay 發布:2025-01-21 14:52:24 瀏覽:590
sql操作手冊 發布:2025-01-21 14:46:08 瀏覽:312
青橙腳本 發布:2025-01-21 14:44:05 瀏覽:219
東風本田crv時尚版是什麼配置 發布:2025-01-21 14:20:04 瀏覽:219
安卓如何多開軟體每個機型不一樣 發布:2025-01-21 14:15:29 瀏覽:501