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()

<?php
class 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 关键字

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

<?php
class Foo {
    public static function aStaticMethod() {
        echo "hello";
    }
}

Foo::aStaticMethod();
$classname = ‘Foo‘;
$classname::aStaticMethod(); // As of PHP 5.3.0
?> 

输出结果是 hellohello

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。