PHP 第三週函式學習記錄

乄Z發表於2020-06-21

natsort()

作用

函式用"自然排序"演算法對陣列進行排序。鍵值保留它們原始的鍵名。

用法

natsort(array)

測試案例

$temp_files = array("temp15.txt","temp10.txt",
"temp1.txt","temp22.txt","temp2.txt");

sort($temp_files);
echo "Standard sorting: ";
print_r($temp_files);
echo "<br>";

natsort($temp_files);
echo "Natural order: ";
print_r($temp_files);

結果

Standard sorting: 
Array ( 
    [0] => temp1.txt 
    [1] => temp10.txt 
    [2] => temp15.txt 
    [3] => temp2.txt 
    [4] => temp22.txt 
)
Natural order: 
Array ( 
    [0] => temp1.txt 
    [3] => temp2.txt
    [1] => temp10.txt 
    [2] => temp15.txt
    [4] => temp22.txt 
)

next()

作用

函式將內部指標指向陣列中的下一個元素,並輸出。

用法

next(array)

測試案例

$people = array("Peter", "Joe", "Glenn", "Cleveland");

echo current($people) . "<br>";
echo next($people);

結果

Peter
Joe

pos()

作用

函式返回陣列中的當前元素的值。
該函式是 current() 函式的別名。

用法

pos(array)

測試案例

$people = array("Peter", "Joe", "Glenn", "Cleveland");

echo pos($people) . "<br>";

結果

Peter

prev()

作用

函式將內部指標指向陣列中的上一個元素,並輸出。

用法

prev(array)

測試案例

$people = array("Peter", "Joe", "Glenn", "Cleveland");

echo current($people) . "<br>";
echo next($people) . "<br>";
echo prev($people);

結果

Peter
Joe
Peter

range()

作用

函式建立一個包含指定範圍的元素的陣列。

用法

range(low,high,step)

測試案例

$number = range(0,5);
print_r ($number);

結果

Array ( 
    [0] => 0
    [1] => 1
    [2] => 2
    [3] => 3
    [4] => 4
    [5] => 5 
)

reset()

作用

函式將內部指標指向陣列中的第一個元素,並輸出。

用法

reset(array)

測試案例

$people = array("Peter", "Joe", "Glenn", "Cleveland");

echo current($people) . "<br>";
echo next($people) . "<br>";

echo reset($people);

結果

Peter
Joe
Peter

rsort()

作用

函式對數值陣列進行降序排序。

用法

rsort(array,sortingtype);

測試案例

$numbers=array(4,6,2,22,11);
rsort($numbers);
print_r($numbers);

結果

Array
(
    [0] => 22
    [1] => 11
    [2] => 6
    [3] => 4
    [4] => 2
)

shuffle()

作用

函式把陣列中的元素按隨機順序重新排列。

用法

shuffle(array)

測試案例

$my_array = array("red","green","blue","yellow","purple");

shuffle($my_array);
print_r($my_array);

結果

Array ( 
    [0] => blue 
    [1] => green 
    [2] => yellow 
    [3] => red
    [4] => purple 
)

sizeof()

作用

函式返回陣列中元素的數目。
是 count() 函式的別名

用法

sizeof(array,mode)

測試案例

$cars=array("Volvo","BMW","Toyota");
echo sizeof($cars);

結果

3

sort()

作用

函式對數值陣列進行升序排序。

用法

sort(array,sortingtype);

測試案例

$numbers=array(4,6,2,22,11);
sort($numbers);
print_r($numbers);

結果

Array
(
    [0] => 2
    [1] => 4
    [2] => 6
    [3] => 11
    [4] => 22
)

uasort()

作用

函式對數值陣列進行升序排序。

用法

uasort(array,myfunction);

測試案例

function my_sort($a,$b)
{
    if ($a==$b) return 0;
    return ($a<$b)?-1:1;
}

$arr=array("a"=>4,"b"=>2,"c"=>8,d=>"6");
uasort($arr,"my_sort");
print_r($arr);

結果

Array
(
    [b] => 2
    [a] => 4
    [d] => 6
    [c] => 8
)

uksort()

作用

函式使用使用者自定義的比較函式對陣列按鍵名進行排序。

用法

uksort(array,myfunction);

測試案例

function my_sort($a,$b)
{
if ($a==$b) return 0;
return ($a<$b)?-1:1;
}

$arr=array("a"=>4,"b"=>2,"c"=>8,d=>"6");
uksort($arr,"my_sort");
print_r($arr);

結果

Array
(
    [a] => 4
    [b] => 2
    [c] => 8
    [d] => 6
)

usort()

作用

使用使用者自定義的比較函式對陣列進行排序。

用法

usort(array,myfunction);

測試案例

function my_sort($a,$b)
{
if ($a==$b) return 0;
return ($a<$b)?-1:1;
}

$a=array(4,2,8,6);
usort($a,"my_sort");
print_r($a);

結果

Array
(
    [0] => 2
    [1] => 4
    [2] => 6
    [3] => 8
)

cal_days_in_month()

作用

函式針對指定的年份和曆法,返回一個月中的天數

用法

cal_days_in_month(calendar,month,year);

測試案例

$d=cal_days_in_month(CAL_GREGORIAN,10,2005);
echo "There was $d days in October 2005";

結果

There was 31 days in October 2005

cal_from_jd()

作用

函式把儒略日計數轉換為指定曆法的日期

用法

cal_from_jd(jd,calendar);

測試案例

$d=unixtojd(mktime(0,0,0,6,20,2007));
print_r(cal_from_jd($d,CAL_GREGORIAN));

結果

Array
(
    [date] => 6/20/2007
    [month] => 6
    [day] => 20
    [year] => 2007
    [dow] => 3
    [abbrevdayname] => Wed
    [dayname] => Wednesday
    [abbrevmonth] => Jun
    [monthname] => June
)

cal_info()

作用

函式返回有關指定曆法的資訊

用法

cal_info(calendar);

測試案例

print_r(cal_info(0));
print_r(cal_info(1));

結果

Array ( 
    [months] => Array ( 
        [1] => January
        [2] => February
        [3] => March
        [4] => April 
        [5] => May
        [6] => June 
        [7] => July 
        [8] => August
        [9] => September 
        [10] => October
        [11] => November 
        [12] => December 
    ) 
    [abbrevmonths] => Array (
        [1] => Jan 
        [2] => Feb 
        [3] => Mar 
        [4] => Apr
        [5] => May
        [6] => Jun
        [7] => Jul 
        [8] => Aug
        [9] => Sep 
        [10] => Oct 
        [11] => Nov 
        [12] => Dec 
    ) 
    [maxdaysinmonth] => 31 
    [calname] => Gregorian
    [calsymbol] => CAL_GREGORIAN 
)

Array (
    [months] => Array ( 
        [1] => January 
        [2] => February
        [3] => March
        [4] => April
        [5] => May 
        [6] => June
        [7] => July 
        [8] => August
        [9] => September
        [10] => October 
        [11] => November
        [12] => December
    ) 
    [abbrevmonths] => Array (
        [1] => Jan
        [2] => Feb
        [3] => Mar
        [4] => Apr 
        [5] => May 
        [6] => Jun 
        [7] => Jul
        [8] => Aug
        [9] => Sep
        [10] => Oct
        [11] => Nov
        [12] => Dec 
    ) 
    [maxdaysinmonth] => 31
    [calname] => Julian
    [calsymbol] => CAL_JULIAN 
)

cal_to_jd()

作用

函式把指定曆法的日期轉換為儒略日計數

用法

cal_to_jd(calendar,month,day,year);

測試案例

$d=cal_to_jd(CAL_GREGORIAN,6,20,2007);
echo $d;

結果

2454272

easter_date()

作用

函式返回指定年份的復活節午夜的 Unix 時間戳

用法

easter_date(year);

測試案例

echo easter_date() . "<br />";
echo date("M-d-Y",easter_date()) . "<br />";
echo date("M-d-Y",easter_date(1975)) . "<br />";
echo date("M-d-Y",easter_date(1998)) . "<br />";
echo date("M-d-Y",easter_date(2007));

結果

1364702400
Mar-31-2013
Mar-30-1975
Apr-12-1998
Apr-08-2007

easter_days()

作用

返回指定年份的復活節與 321 日之間的天數

用法

easter_days(year,method);

測試案例

echo "Easter Day is ". easter_days() . " days after March 21 this year.<br />";
echo "Easter Day was ". easter_days(1990) . " days after March 21 in 1990.<br />";
echo "Easter Day was ". easter_days(1342) . " days after March 21 in 1342.<br />";
echo "Easter Day will be ". easter_days(2050) . " days after March 21 in 2050.";

結果

Easter Day is 10 days after March 21 this year.
Easter Day was 25 days after March 21 in 1990.
Easter Day was 10 days after March 21 in 1342.
Easter Day will be 20 days after March 21 in 2050.

frenchtojd()

作用

函式把法國共和曆法的日期轉換為儒略日計數。

用法

frenchtojd(month,day,year);

測試案例

$jd=frenchtojd(3,3,14);
echo $jd . "<br>";
echo jdtofrench($jd);

結果

2380650
3/3/14

gregoriantojd()

作用

函式把格利高裡曆法的日期轉換為儒略日計數

用法

gregoriantojd(month,day,year);

測試案例

$jd=gregoriantojd(6,20,2007);
echo $jd . "<br>";
echo jdtogregorian($jd);

結果

2454272
6/20/2007

jddayofweek()

作用

函式返回日期在周幾

用法

jddayofweek(jd,mode);
mode 0 - 預設。以整數返回周的天。(0 為週日, 1 為週一... 依此類推)
     1 - 以字串返回周的天。(Sunday, Monday, ...2 - 以字串返回周的天,簡寫形式。(Sun, Mon, ...

測試案例

$jd=gregoriantojd(1,13,1998);
echo jddayofweek($jd,1);

結果

Tuesday

jdmonthname()

作用

函式返回月的名稱。

用法

jdmonthname(jd,mode);
mode 0 - 格利高裡曆法 - 簡寫形式 (Jan, Feb, Mar, ...)
     1 - 格利高裡曆法 (January, February, March, ...)
     2 - 儒略曆法 - 簡寫形式 (Jan, Feb, Mar, ...)
     3 - 儒略曆法 (January, February, March, ...)
     4 - 猶太曆法 (Tishri, Heshvan, Kislev, ...)
     5 - 法國共和曆法 (Vendemiaire, Brumaire, Frimaire, ...)

測試案例

$jd = gregoriantojd(1,13,1998);
echo jdmonthname($jd,0);

結果

Jan

jdtofrench()

作用

函式把儒略日計數轉換為法國共和曆法的日期

用法

jdtofrench(jd);

測試案例

$jd=frenchtojd(3,3,14);
echo $jd . "<br>";
echo jdtofrench($jd);

結果

2380650
3/3/14

jdtogregorian()

作用

函式把儒略日計數轉換為格利高裡曆法的日期

用法

jdtogregorian(jd);

測試案例

$jd=gregoriantojd(6,20,2007);
echo $jd . "<br>";
echo jdtogregorian($jd);

結果

2454272
6/20/2007

jdtojewish()

作用

函式把儒略日計數轉換為猶太曆法的日期。

用法

jdtojewish(jd,hebrew,fl);
hebrew      可選。當設定為 TRUE 時表示希伯來語輸出格式。預設設定為 FALSE。
fl          可選。定義希伯來語輸出格式,可用的格式有
                CAL_JEWISH_ADD_ALAFIM_GERESH
                CAL_JEWISH_ADD_ALAFIM
                CAL_JEWISH_ADD_GERESHAYIM

測試案例

$jd=jdtojewish(1789430);
echo $jd;

結果

7/14/3947

jdtojulian()

作用

函式把儒略日計數轉換為儒略曆法的日期。

用法

jdtojulian(jd);

測試案例

$jd=juliantojd(6,20,2007);
echo $jd . "<br>";
echo jdtojulian($jd);

結果

2454285
6/20/2007

jdtounix()

作用

函式把儒略日計數轉換為 Unix 時間戳。

用法

jdtounix(jd);

測試案例

$jd=gregoriantojd(10,3,1975);
echo jdtounix($jd);

結果

181526400

jewishtojd()

作用

函式把猶太曆法的日期轉換為儒略日計數。

用法

jewishtojd(month,day,year);

測試案例

$jd=jewishtojd(6,20,2007);
echo $jd;

結果

1080849

juliantojd()

作用

把儒略曆法的日期轉換為儒略日計數。

用法

juliantojd(month,day,year);

測試案例

$jd=juliantojd(6,20,2007);
echo $jd . "<br>";
echo jdtojulian($jd);

結果

2454285
6/20/2007

unixtojd

作用

函式把 Unix 時間戳轉換為儒略日計數。

用法

unixtojd(timestamp);

測試案例

echo unixtojd();

結果

2456557

curl_close

作用

關閉一個cURL會話並且釋放所有資源。cURL控制程式碼ch 也會被釋放。

用法

void curl_close ( resource $ch )

案例

// 建立一個新cURL資源
$ch = curl_init();

// 設定URL和相應的選項
curl_setopt($ch, CURLOPT_URL, "http://www.w3cschool.cc/");
curl_setopt($ch, CURLOPT_HEADER, 0);

// 抓取URL並把它傳遞給瀏覽器
curl_exec($ch);

// 關閉cURL資源,並且釋放系統資源
curl_close($ch);

curl_copy_handle

作用

複製一個cURL控制程式碼並保持相同的選項。

用法

resource curl_copy_handle ( resource $ch )

案例

// 建立一個新的cURL資源
$ch = curl_init();

// 設定URL和相應的選項
curl_setopt($ch, CURLOPT_URL, 'http://www.example.com/');
curl_setopt($ch, CURLOPT_HEADER, 0);

// 複製控制程式碼
$ch2 = curl_copy_handle($ch);

// 抓取URL (http://www.example.com/) 並把它傳遞給瀏覽器
curl_exec($ch2);

// 關閉cURL資源,並且釋放系統資源
curl_close($ch2);
curl_close($ch);

curl_errno

作用

返回最後一次cURL操作的錯誤號。

用法

int curl_errno ( resource $ch )

案例

// 建立一個指向一個不存在的位置的cURL控制程式碼
$ch = curl_init('http://404.php.net/');

// 執行
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_exec($ch);

// 檢查是否有錯誤發生
if(curl_errno($ch))
{
    echo 'Curl error: ' . curl_error($ch);
}

// 關閉控制程式碼
curl_close($ch);

curl_error

作用

返回一條最近一次cURL操作明確的文字的錯誤資訊。

用法

string curl_error ( resource $ch )

案例

// 建立一個指向一個不存在的位置的cURL控制程式碼
$ch = curl_init('http://404.php.net/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

if(curl_exec($ch) === false)
{
    echo 'Curl error: ' . curl_error($ch);
}
else
{
    echo '操作完成沒有任何錯誤';
}

// 關閉控制程式碼
curl_close($ch);
參考

《PHP 5 Array 函式 | 菜鳥教程》

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章