PHP 第三周函数学习记录

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)
step  可选。规定元素之间的步进制。默认是 1

测试案例

$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 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!