首页 > 代码库 > php语法快速学习笔记

php语法快速学习笔记

1.gettype() 用来获取变量的类型

2.var_dump()用来查看某个表达式的类型和值

3.定义一个字符串是用单引号,双引号会将字符串里面的特征会解析出来

4.Herodoc结构就是<<<FOOBRA XXXX  FOOBAR;理解为结构字符串。

5.字符串用.连接起来。

6.  键=>值 对。

7.unset()函数允许删除数组中的某个键。

8.数组声明的方式  $arr=array("foo"=>"bar",12=>true);

9.集合的演示

<?php//集合显示$colors=  array(‘red‘,‘green‘,‘been‘,‘yellow‘);foreach ($colors as $color){    echo "颜色有$color";}?>

10.对象的初始化和方法的调用

<?php//对象的初始化class foo{    public function do_foo(){         echo "方法执行了";    }}$bar=new foo;$bar->do_foo();?>

11.回调方法

<?php//回调函数function first(){    echo "第一次显示";}class Myclass{    static function myfirst(){        echo "静态方法显示";    }}call_user_func(‘first‘);//call_user_func(array(‘first‘,‘myfirst‘));$obj=new Myclass();call_user_func(array($obj,‘myfirst‘));?>

12.php的变量是区分大小写的

没有加global会报错,现实结果是2

<?php//变量的使用范围$a=1;$b=2;function sum(){    $b=$a+$b;}sum();echo $b;?>

加了global,显示的结果是3

<?php//变量的使用范围$a=1;$b=2;function sum(){    global $a,$b;    $b=$a+$b;}sum();echo $b; ?>

13.静态变量

<?php//静态变量function Test(){    $a=0;    echo $a;    $a++;}Test();Test();Test();?>

输出的是000

<?php//静态变量function Test(){    static $a=0;    echo $a;    $a++;}Test();Test();Test();?>

显示输出的是012

 

13.可以判断变量类型的函数

gettype(),is_array(),is_float(),is_int(),is_object()和 is_string();

14.设置cookies

setcookie();还有$_cookie,$http_cookie_cars和$_request

15.定义常量(define 和 const)

define("foo","something");或者 const foo="something"

echo foo

16.魔术常量

魔术常量不区分大小写

echo __LINE__;//当前行号echo  __FILE__;//当前文件的完整路径echo __DIR__;//文件所在的目录echo __FUNCTION__;//函数名称echo __CLASS__;//类的名称echo __METHOD__;//类的方法名echo __NAMESPACE__;//当前命名空间的名称 

 17.表达式

$a=5;

表示将值5的分配给变量$a

18.运算符

错误运算符:@ 。当放在一个php表达式前面,表明表达式可能产生的任何错误信息都被忽略掉。

 执行运算符:PHP 支持一个执行运算符:反引号(``)。注意这不是单引号!PHP 将尝试将反引号中的内容作为外壳命令来执行,并将其输出信息返回(例如,可以赋给一个变量而不是简单地丢弃到标准输出)。使用反引号运算符“`”的效果与函数 shell_exec() 相同。 <?php

$output = `ls -al`;
echo "<pre>$output</pre>";
?>

数组运算符:+联合 ==相等,===全等,!=不等,!==不全等

 

19.控制结构

continue 后面的语句执行完后结束循环

 

20.php函数

匿名函数又称为闭包函数,临时创建一个没有名字的函数,经常用作回调函数的参数。

<?php//匿名函数变量赋值$greet=function($name){    printf("hello %s",$name);};$greet(‘World‘);$greet(‘PHP‘);?>

注意是%s。

21。类和对象

php中的::是类中静态方法和静态属性的引用方法。

可以不用实例化对象直接使用Test::$test属性的值

extends关键字继承另一个类的方法和成员,只能单继承不能扩展多个类

被继承的方法和成员可以通过用同样的名字重新声明被覆盖,除非父类定义方法时使用了 final 关键字。可以通过 parent:: 来访问被覆盖的方法或成员。

22.自动加载对象

比如需要从Myclass1.php和Myclass2.php加载Myclass1和Myclass2类。

<?php//匿名函数变量赋值function __autoload($class_name){    require_once $class_name.‘.php‘;}$obj=new Myclass1();$obj=new Myclass2();?>

23.构造函数和析构函数

<?php//构造函数class BaseClass{    function __construct() {        print "父类的构造函数";    }}class SubClass extends BaseClass{    function __construct() {        parent::__construct();        print "子类的构造函数";    }}$obj=new BaseClass();$obj=new SubClass();?>

输出的结果是 “父类的构造函数父类的构造函数子类的构造函数”;

要执行父类的析构函数,必须在子类的析构函数体中显式调用 parent::__destruct()

<?phpclass MyDestructableClass {   function __construct() {       print "In constructor ";       $this->name = "MyDestructableClass";   }   function __destruct() {       print "Destroying " . $this->name . " ";   }}$obj = new MyDestructableClass();$obj->__destruct();?>

没有大区别

24.php的访问控制

对属性和方法的访问控制:public ,private,protected。

public 类在任何地方都可以访问到,private是其所在类访问,protected类只能被所在类访问。

25类的继承

extends

26.static 关键字

为了方便不用实例化对象也能直接访问类的成员或者方法。

<?phpclass Foo {    public static function aStaticMethod() {        echo "hello";    }}Foo::aStaticMethod();$classname = ‘Foo‘;$classname::aStaticMethod(); // As of PHP 5.3.0?> 

输出结果是 hellohello

 

php语法快速学习笔记