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()
作用
返回指定年份的复活节与 3 月 21 日之间的天数
用法
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);
参考
本作品采用《CC 协议》,转载必须注明作者和本文链接