本文目錄一覽:
- 1、php常用函數
- 2、php函數大全
- 3、PHP的常用系統函數有哪些
- 4、給大家分享幾個常用的PHP函數
- 5、什麼是PHP的函數?
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函數大全
php函數大全:
1
2 II.
3 III.
4 IV.
5 V. Bzip2 Compression Functions
6 VI.
7 VII. CCVS API Functions [deprecated]
8 VIII. Windows 的 COM 支持函數庫
9 IX
10 X.
11 XI. Crack Functions
12 XII. CURL, Client URL Library Functions
13 XIII. Cybercash Payment Functions
14 XIV. Cyrus IMAP administration Functions
15 XV. Character Type Functions
16 XVI. database (dbm-style) Abstraction Layer Functions
17 XVII. 時間日期函數庫
18 XVIII. dBase Functions
19 XIX. DBM Functions [deprecated]
20 XX. dbx Functions
常用函數:
pack()
Pack()能將md5()返回的32位16進制字符串轉換為16位的二進制字符串,可以節省存儲空間。
sys_getloadavg()
sys_getloadavt()可以獲得系統負載情況。該函數返回一個包含三個元素的數組,每個元素分別代表系統再過去的1、5和15分鐘內的平均負載。
與其讓服務器因負載過高而宕掉,不如在系統負載很高時主動die掉一個腳本,sys_getloadavg()就是用來幫你實現這個功能的。不過很遺憾,該函數在windows下無效。
get_browser()
get_browser()能獲得用戶的瀏覽器類型,以及瀏覽器支持的功能,不過首先你需要一個php_browscap.ini文件,用來給函數做參考文件。
要注意,該函數對瀏覽器功能的判斷是基於該類瀏覽器的一般特性的。例如,如果用戶關閉了瀏覽器對JavaScript的支持,函數無法得知這一點。但是在判斷瀏覽器類型和OS平台方面,該函數還是很準確的。
_()
Wordcodess開發者經常能見到這個函數,還有_e()。這兩個函數功能相同,與gettext()函數結合使用,能實現網站的多語言化。具體可參見PHP手冊的相關部分介紹。
cal_days_in_month()
cal_days_in_month()能夠返回指定月份共有多少天。
debug_print_backtrace()
這是一個調試用的函數,能幫助你發現代碼中的邏輯錯誤。要理解這個函數,還是直接看個例子吧:
metaphone()
這個函數返回單詞的metaphone值,相同讀音的單詞具有相同的metaphone值,也就是說這個函數可以幫你判斷兩個單詞的讀音是否相同。不過對中文就無效了。。。
natsort()
natsort()能將一個數組以自然排序法進行排列
levenshtein()
Levenshtein()告訴你兩個單詞之間的“距離”。它告訴你如果想把一個單詞變成另一個單詞,需要插入、替換和刪除多少字母。
glob()
glob()會讓你覺得用opendir(), readdir()和closedir()來尋找文件非常蠢。
PHP的常用系統函數有哪些
PHP自帶了大量的系統函數,使用這些函數可以完成大部分的任務。常用的有數學運算函數和日期時間函數。
1.數學運算函數:
數學運算是程序中最常執行的功能之一,PHP提供了很多系統函數實現運算功能,無須安裝、編譯和配置便可以直接使用。下表列出了常用的數學函數:
函數名稱
功能描述
函數名稱
功能描述
abs()
絕對值
is_finite()
判斷是否為有限值
acos()
反餘弦
is_infinite()
判斷是否為無限值
acosh()
反雙曲餘弦
is_nan()
判斷是否為合法數值
asin()
反正弦
lcg_value()
組合線性同餘發生器
asinh()
反雙曲正弦
log10()
以10為底的對數
atan2()
兩個參數的反正切
log()
自然對數
atan()
反正切
max()
最大值
atanh()
反雙曲正切
min()
最小值
base_convert()
在任意進制之間轉換數字
mt_getrandmax()
顯示隨機數的最大可能值
bindec()
二進制轉換為十進制
mt_rand()
生成更好的隨機數
ceil()
進一法取整
mt_sran()
播下一個更好隨機數種子
cos()
餘弦
octdec()
八進制轉換為十進制
cosh()
雙曲餘弦
pi()
圓周率
decbin()
十進制轉換為二進制
pow()
指數表達式
dechex()
十進制轉換為十六進制
rad2deg()
將弧度轉換為相應的角度值
decoct()
十進制轉換為八進制
rand()
產生一個隨機數
deg2rad()
將角度轉換為弧度
round()
對浮點數四捨五入
exp()
計算e的指數
sin()
正弦
floor()
捨去法取整
sinh()
雙曲正弦
fmod()
返回除法的浮點數餘數
sqrt()
平方根
getrandmax()
顯示隨機數最大的可能值
srand()
播下隨機數發生器種子
hexdec()
十六進制轉換為十進制
tan()
正切
hypot()
計算直角三角形的斜邊長度
tanh()
雙曲正切
注意:這些數學函數僅能處理計算機中integer和float範圍的值。
示例:產生隨機密碼的的函數
function CreatePassword($length=6) //生成密碼函數,默認6位
{
$dictionary=”abcdefghijklmnopqrstuvwxyz0123456789”; //密碼字典
$maxChar=strlen($dictionary); //獲取字典長度
$password=””;
for($i=0; $i$length; $i++) //隨機生成每一位
{
$password.=$dictionary[rand(0, $maxChar)]; //產生隨機數,再從字典取字母
}
return $password;
}
2.日期和時間運算:
PHP提供了豐富的日期和時間方面運算的函數。
1)UNIX時間戳:
時間戳(Timestamp)是源於UNIX系統的時間表示方法,是指從1970年1月1日(00:00:00GMT)起到現在所經過的秒數,因此也稱為UNIX時間戳。
在PHP中使用時間戳的最簡單方式就是調用time()函數,time()函數可以根據當前時間返回一個時間戳的表示法。示例:
echo “當前時間戳為:”.time();
2)日期函數:
PHP提供的一些常用的日期函數。
①date()函數:
date()函數用于格式化一個本地日期和時間。語法格式為:
string date(string $format [, int $timestamp])
返回將整數$timestamp按照$format給定格式而產生的字符串。其中,$timestamp參數是可選的,如果沒有給出時間戳,則使用本地當前時間,即time()。
下表列出了$format格式化字符串參數的說明:
值
說明
返回值
D
月份中的第幾天,有前導零的2位數字
01到31
D
星期中的第幾天,文本表示,3個字母
Mon到Sun
J
月份中的第幾天,沒有前導零
1到31
L
L的小寫字母,表示星期幾的完整文本格式
Sunday到Saturday
N
數字表示的星期中的第幾天
1(表示星期一)到7(表示星期天)
S
每月天數後面的英文後綴,2個字符
st,nd,rd或th。可以和j一起用
W
星期中的第幾天,數字表示
0(表示星期天)到6(表示星期六)
Z
年份中的第幾天
0到366
W
年份中的第幾周,每周從星期一開始
例如:42(當年的第42周)
F
月份,完整的文本格式,例如January
January到December
M
數字表示的月份,有前導零
01到12
M
3個字母縮寫表示的月份
Jan到Dec
N
數字表示的月份,沒有前導零
1到12
t
給定月份所應有的天數
28到31
L
是否為閏年
如果是閏年為1,否則為0
o
年份數字
例如:2016
Y
4位數字完整表示的年份
例如:2016
y
2位數字表示的年份
例如:16
a
小寫的上午和下午值
am或pm
A
大寫的上午和下午值
AM或PM
g
小時,12小時格式,沒有前導零
1到12
G
小時,24小時格式,沒有前導零
0到23
h
小時,12小時格式,有前導零
01到12
H
小時,24小時格式,有前導零
00到23
i
有前導零的分鐘數
00到59
s
秒數,有前導零
00到59
e
時區標識
例如:UTC,GMT,Atlantic/Azores
I
是否為夏令時
如果是夏令時為1,否則為0
O
與格林威治時間相差的小時數
例如:+0200
Z
時差偏移量的秒數
-43200到43200
c
ISO8601格式的日期
2011-05-12T15:19:21+00:00
r
RFC822格式的日期
例如:Thu, 21 Dec 2011 06:07:08 +0200
U
從January 1 1970 00:00:00開始至今的秒數
與time()函數相同
示例:
$today=date(“m/d/y”); //結果為:07/19/12
$today=date(“F j, Y, g:i a”); //結果為:July 19, 2012, 9:07 am
$today=date(“Y年n月j日”); //結果為:2012年7月19日
$today=date(“Y-m-d H:i:s”); //結果為:2012-07-19 09:07:32
$today=date(“D M j G:i:s T Y”); //結果為:Thu Jul 19 9:07:32 CST 2012
$today=date(‘i t i s t h e jS d a y’); //結果為:07 31 07 32 31 09 Asia/Shanghai 19th 19 am 12
$today=date(‘\i\t \i\s \t\h\e jS \d\a\y’); //結果為:it is the 19th day
$today=date(‘H:m:s \m \i\s\ \m\o \h’); //結果為:09:07:32 m is month
②gmdate()函數:
gmdate()函數實現與date()函數相同的功能,不同的是gmdate()函數返回的時間是格林威治標準時間(GMT)。語法格式為:
string gmdate(string $format [, int $timestamp])
③getdate()函數:
getdate()函數用於獲取指定的日期和時間信息。語法格式為:
array getdate([int $timestamp])
如果沒有指定時間戳$timestamp,則使用系統當前的本地時間。getdate()函數返回一個數組,數組中的每個元素代表日期和時間中的特定組成部分。下表列出了返回數組中鍵名的說明:
鍵名
說明
返回值例子
seconds
秒的數字表示
0到59
minutes
分鐘的數字表示
0到59
hours
小時的數字表示
0到23
mday
月份中的第幾天的數字表示
1到31
wday
星期中的第幾天的數字表示
0(表示星期天)到6(表示星期六)
mon
月份的數字表示
1到12
year
4位數字表示的完整年份
例如:2016
yday
一年中的第幾天的數字表示
0到365
weekday
星期幾的完整文本表示
Sunday到Saturday
month
月份的完整的文本表示
January到December
自從UNIX紀元開始至今的秒數
和time()的返回值類似,是一個時間戳
示例:
?php
$today=getdate();
print_r($today);
printf(“今天是%s年%s月%s日 星期%s \n”, $today[“year”], $today[“mon”], $today[“mday”], $today[“wday”]);
printf(“現在時間是%s時%s分%s秒”, $today[“hours”], $today[“minutes”], $today[“seconds”]);
?
執行後的結果為:
Arrar
(
[seconds]=15
[minutes]=37
[hours]=9
[mday]=19
[wday]=4
[mon]=7
[year]=2016
[yday]=200
[weekday]=Thursday
[month]=July
[0]=1342661835
)
今天是2016年7月19日 星期4
現在時間是 9時37分15秒
④checkdate()函數:
checkdate()函數用於檢查一個日期是否有效,有效則返回true,否則返回false。語法格式為:
bool checkdate(int $month, int $day, int $year)
當滿足如下條件時,checkdate()函數將認為是一個有效的日期:
·$year的值是從1到32767
·$month的值是從1到12
·$day的值在給定的$month所應該具有的天數範圍之內,包括閏年情況
示例:
echo checkdate(2,29,2012)?”有效”:”無效”;
2)時間函數:
①time()函數:
time()函數使用方法非常簡單,沒有參數調用後返回當前日期和時間的UNIX時間戳。語法格式為:
int time(void)
示例:
$next50day=time()+(50*24*60*60); //計算50天以後的日期
②mktime()函數:
mktime()函數的作用與time()函數相同,都可以返回一個時間戳表示的時間。不同的是,在mktime()函數中可以指定具體的日期和時間。語法格式為:
int mktime([int $hour],[int $minute],[int $second],[int $month], [int $day],[int $year])
上述參數列表從右向左順序省略,任何省略的參數會被設置為本地日期和時間的當前值。如果指定的時間無法表示,則返回false。mktime()函數在做日期計算和驗證方面很有用。示例:
$day1=mktime(0,0,0,12,25,2012);
$day2=mktime(0,0,0,10,1,2012);
$days=($day1-$day2)/(24*60*60); //根據時間戳計算出相差的天數
③strtotime()函數:
strtotime()函數用於將可閱讀的英文日期/時間字符串轉換成UNIX時間戳。語法格式:
int strtotime(string $time[, int $now])
其中,$time參數表示要被轉換的字符串,$now表示計算返回值的時間戳。如果沒有提供$now參數,將使用系統的當前時間。strtotime()函數成功時返回時間戳,否則返回false。
④microtime()函數:
microtime()函數調用後將返回當前UNIX時間戳和微秒數。語法格式為:
mixed microtime([bool $get_as_float])
這裡的可選參數$get_as_float是一個布爾值,如果為true將返回一個浮點數。默認不帶參數時將以“msec sec”格式返回一個字符串,其中msec是微秒部分,sec是UNIX時間戳。
給大家分享幾個常用的PHP函數
?php$a1=array(“a”=”red”,”b”=”green”,”c”=”blue”,”d”=”yellow”);$a2=array(“e”=”red”,”f”=”green”,”g”=”blue”);$result=array_intersect($a1,$a2);print_r($result);?result:Array ( [a] = red [b] = green [c] = blue )
什麼是PHP的函數?
PHP 用戶定義函數
除了內建的 PHP 函數,我們可以創建我們自己的函數。
函數是可以在程序中重複使用的語句塊。
頁面加載時函數不會立即執行。
函數只有在被調用時才會執行。
在 PHP 創建用戶定義函數
用戶定義的函數聲明以關單 “function” 開頭:
語法
function functionName() {
被執行的代碼;
}
注釋:函數名能夠以字母或下劃線開頭(而非數字)。
注釋:函數名對大小寫不敏感。
提示:函數名應該能夠反映函數所執行的任務。
在下面的例子中,我們創建名為 “writeMsg()” 的函數。打開的花括號({)指示函數代碼的開始,而關閉的花括號(})指示函數的結束。此函數輸出 “Hello world!”。如需調用該函數,只要使用函數名即可:
?php
function writeMsg() {
echo “Hello world!”;
}
writeMsg(); // 調用函數
?
PHP 函數參數
可以通過參數向函數傳遞信息。參數類似變量。
參數被定義在函數名之後,括號內部。您可以添加任意多參數,只要用逗號隔開即可。
下面的例子中的函數有一個參數($fname)。當調用 familyName() 函數時,我們同時要傳遞一個名字(例如 Bill),這樣會輸出不同的名字,但是姓氏相同:
?php
function familyName($fname) {
echo “$fname Zhang.br”;
}
familyName(“Li”);
familyName(“Hong”);
familyName(“Tao”);
familyName(“Xiao Mei”);
familyName(“Jian”);
?
下面的例子中的函數有兩個參數($fname 和 $year):
?php
function familyName($fname,$year) {
echo “$fname Zhang. Born in $year br”;
}
familyName(“Li”,”1975″);
familyName(“Hong”,”1978″);
familyName(“Tao”,”1983″);
?
PHP 默認參數值
下面的例子展示了如何使用默認參數。如果我們調用沒有參數的 setHeight() 函數,它的參數會取默認值:
?php
function setHeight($minheight=50) {
echo “The height is : $minheight br”;
}
setHeight(350);
setHeight(); // 將使用默認值 50
setHeight(135);
setHeight(80);
?
PHP 函數 – 返回值
如需使函數返回值,請使用 return 語句:
?php
function sum($x,$y) {
$z=$x+$y;
return $z;
}
echo “5 + 10 = ” . sum(5,10) . “br”;
echo “7 + 13 = ” . sum(7,13) . “br”;
echo “2 + 4 = ” . sum(2,4);
?
原創文章,作者:GKKB,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/148051.html