知识在乎不断的积累和总结,好记性不如烂笔头.读各种书,以博客以记之,为了自己日后学习查阅,也可以和远方来的朋友分享交流。
PHP中的常用函数
其实学习PHP或者Python,最终要的一点就是要熟悉一些常用库或者函数,这样在应用的时候才能游刃有余,下面总结一下常用的函数
查看数据类型
- gettype(传入一个变量) 能够获得变量的类型
 
- var_dump(传入一个变量) 输出变类型和值
判断数据类型 
- is_int/bool/float/string/array/object/null/resource(资源)/scalar(标量)/numeric(是否为数值类型)/callable(是否为函数)
1 2 3 4 
  | $float = 88.8; $type = gettype($float); var_dump($float); echo $type; 
  | 
 
 
强制类型转换
强制类型转换有三种方式:
- 用后面的三个函数可以完成类型转换,intval()、floatval()、strval()
 
- 变量前加上()里面写上类型,将它转换后赋值给其他变量
 
- settype(变量,类型) 直接改变量本身
 
常量和变量
常量
定义 define(常量名,常量值);defined()函数来做安全机制
系统的一些常量:
| 常量明 | 
说明 | 
常量明 | 
说明 | 
| LINE | 
当前所在的行 | 
FILE | 
当前文件在服务器的路径 | 
| FUNCTIOIN | 
当前函数名 | 
CLASS | 
当前类名 | 
| METHOD | 
当前成员方法名 | 
PHP_OS | 
PHP运行的操作系统 | 
| PHP_VERSION | 
当前PHP的版本 | 
TRAIT | 
Trait 的名字,php5.4新加 | 
| DIR | 
文件所在的目录 | 
NAMESPACE | 
当前命名空间的名称(区分大小写 | 
1 2 3 4 5 6 
  | define('MY_NAME','PHP'); echo MY_NAME; echo '我的名字是MY_NAME'; echo '我的名字是' . MY_NAME; 
  | 
 
变量
| 全局变量名 | 
功能说明 | 
全局变量名 | 
功能说明 | 
| $_COOKIE | 
得到会话控制中cookie传值 | 
$_SESSION | 
得到会话控制中session的值 | 
| $_FILES | 
得到文件上传的结果 | 
$_GET | 
得到get传值的结果 | 
| $_POST | 
得到post传值的结果 | 
$_REQUEST | 
即能得到get的传值结果,也能得到post传值的结果 | 
| 键名 | 
含义 | 
| $_SERVER[“REQUEST_METHOD”] | 
请求当前PHP页面的方法 | 
| $_SERVER[“REQUEST_URI”] | 
请求的URI | 
| $_SERVER[“SERVER_SOFTWARE”] | 
用的是哪一种服务器 | 
| $_SERVER[“REMOTE_ADDR”] | 
客户的IP地址 | 
| $_SERVER[“SERVER_ADDR”] | 
当前服务器的IP地址 | 
| $_SERVER[“SCRIPT_FILENAME”] | 
当前请求文件的路径 | 
| $_SERVER[“HTTP_USER_AGENT”] | 
当前访问这个网址的电脑和浏览器的情况 | 
| $_SERVER[“HTTP_REFERER”] | 
上级来源(用户从哪个地址进入当前网页的) | 
| $_SERVER[“REQUEST_TIME”] | 
当前请求时间 | 
- 变量引用(类似于C语言指正)
1 2 3 4 5 6 7 8 
  | $fo = 5; $bar = &$fo; $bar = 6; echo $bar.'<br />'; echo $fo.'<br />'; 
  | 
 
 
三元运算符
| 符号 | 
说明 | 
| $x? 真代码段:假代码段 | 
判断是否为真假 ? 真情况 : 假情况; | 
| ``(反引号) | 
反引号中间插代命令,执行系统命令,等价于shell_exec函数 | 
| @ | 
单行抑制错误,把这一行的错误不让它显示出来了,效率低不建议使用 | 
| => | 
数组下标访问符 | 
| -> | 
对象访问符 | 
| instanceof | 
判断某个对象是否来自某个类,如果是的返回true,如果不是返回false | 
函数
回调函数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 
  | function woziji($one,$two,$func){                  if(!is_callable($func)){                 return false;         }                           echo $one + $two + $func($one,$two); } function plusx2( $foo , $bar){         $result = ($foo+$bar)*2;         return $result; } function jian( $x , $y ){     $result = $x - $y;     return $result; } echo woziji(20,10,'plusx2'); echo woziji(20,10,'jian'); 
  | 
 
变量函数
1 2 3 4 5 6 7 8 9 10 11 
  | function demo(){     echo '天王盖地虎'; } function test(){     echo '小鸡炖蘑菇'; } $fu = 'demo'; $fu(); 
  | 
 
匿名函数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 
  | $greet = function($name) { echo $name.',你好'; }; $greet('明天'); $greet('PHP学院'); function woziji($one,$two,$func){                  if(!is_callable($func)){                 return false;         }                           echo $one + $two + $func($one,$two); } woziji(20,30,function( $foo , $bar){                 $result = ($foo+$bar)*2;                 return $result;             } ); 
  | 
 
内部函数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 
  | <?php function foo() {     echo '我是函数foo哟,调一下我才会执行定义函数bar的过程<br />';   function bar()   {        echo '在foo函数内部有个函数叫bar函数<br />';   } } bar(); foo(); bar(); foo(); ?> 
  | 
 
变量作用域
我们将函数体外的变量通过$GLOBALS拿到了函数体使用。所以,打破了函数外的变量不能在函数体内使用的限定。
1 2 3 4 5 6 7 8 
  | $one = 10; function demo(){     $two = 100;     $result = $two + $GLOBALS['one'];     return $result; } echo demo(); 
  | 
使用内置函数
主要掌握如何使用内置函数,就是会看PHP官方文档
使用函数的重点是三块:
- 了解函数的功能,特别是常用函数的功能
 
- 了解函数的参数
 
- 了解函数的返回值
针对上面的三块,讲解6个函数,这6个函数,概况了函数的基本用法的全部注意事项: 
- 直接返回布尔型,如bool copy ()
 
- 带有MIXED参数的函数如何调用。Mixed表示任何类型的数据。如Array_unshift()
 
- 参数中带有&符的参数,一定要传一个变量做为参数。函数里面改变了他的值。
 
- 带有[]的参数,表示可选项。
 
- 带有…的参数,表示可以传任意多个参数。
 
- 带有callback的参数,表示回调函数。需要传一个函数进来。Array_map()
 
- 函数支持的版本你要了解
 
1.bool copy ( string $source , string $dest [, resource $context ])
这个函数的功能为: 拷备一个文件
返回值为为: bool型值,就是成功返回true,失败返回false
参数为: 两个字符串的值,一个是copy的源文件,一个为目标文件。第三个参数可选的,不常用,我们不管它。
1 2 3 4 5 
  | $file = 'example.txt'; $newfile = 'example.txt.bak'; if (!copy($file, $newfile)) {     echo "failed to copy $file...\n"; } 
  | 
2.int array_unshift ( array &$array , mixed $value1 [, mixed $… ] )
Mixed表示任何类型的数据。
功能: 操作一个数组,向数组中之前插入其他类型的参数。
返回值: int 类型,可能就是插入成功最后的个数
参数: 第一个参数为&符,也就是在操作的过程中,改变了第一个参数的值。引用传参。也就是操作这个数组,向这个数组中传入参数。会直接改变这个数组的值。第二个参数为mixed,因为数组可以存入多个不同的类型.mixed是指混合的意思。因此,mixed是指可传入任意类型。第三个数数加了中括号,我们所有遇到中括号的。都是指后面的参数可传,也可以不传。第四,最后还看到了三个…(省略号)。代表可以传入任意多个参数。
1 2 3 4 5 6 7 8 9 10 11 
  | $queue = array("orange", "banana"); array_unshift($queue, "apple", "raspberry"); print_r($queue); 
  | 
3、bool array_walk ( array &$array , callable $callback [, mixed $userdata = NULL ] )
功能:传入一个回调函数,将数组的原来的组操作,并且发生变化。
返回值:bool 值 也就是意味着,提示成功或者失败
参数:第一个参数是要操作的数组。第二个参数是callback 代表着可以传入函数或者匿名函数。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 
  | $fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple"); function test_alter(&$item1, $key, $prefix) {     $item1 = "$prefix: $item1"; } function test_print($item2, $key) {     echo "$key. $item2<br />\n"; } echo "Before ...:\n"; array_walk($fruits, 'test_print'); array_walk($fruits, 'test_alter', 'fruit'); echo "... and after:\n"; array_walk($fruits, 'test_print'); 
  | 
文件包含函数
| 函数 | 
包含失败 | 
特点 | 
| Inlcude | 
返回一条警告 | 
文件继续向下执行。通常用于动态包含 | 
| Require | 
一个致命的错 | 
代码就不会继续向下执行。通常包含极为重要的文件,整个代码甭想执行 | 
| Include_once | 
返回一条警告 | 
除了原有include的功能以外,它还会做once检测,如果文件曾经已经被被包含过,不再包含 | 
| Require_once | 
一个致命的错 | 
除了原的功能一外,会做一次once检测,防止文件反复被包含 | 
日期常用函数
在正式学习日期函数前大家要了解几个概念:
- 时区:1884年在华盛顿召开国际经度会议时,为了克服时间上的混乱,规定将全球划分为24个时区。在中国采用首都北京所在地东八区的时间为全国统一使用时间。
 
- 世界时:如果对国际上某一重大事情,用地方时间来记录,就会感到复杂不便.而且将来日子一长容易搞错。因此,天文学家就提出一个大家都能接受且又方便的记录方法,那就是以格林尼治(英国某地区)的地方时间为标准。
 
- unix时间戳:从Unix纪元(1970 年 1月1日零时)开始到一个时间经过的秒数。
时间函数有: 
- 设置时区:
- date_default_timezone_get()
 
- date_default_timezone_set()
1 2 3 4 5 6 
  | define('TIME_ZONE','Asia/shanghai'); date_default_timezone_set(TIME_ZONE); echo date_default_timezone_get (); echo date('Y-m-d H:i:s'); 
  | 
 
 
 
声明:
内容参考:《7天学会PHP》