半吊子菜鸟学Web开发 -- PHP语法学习1

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了半吊子菜鸟学Web开发 -- PHP语法学习1相关的知识,希望对你有一定的参考价值。

1索引数组

$fruit = array("苹果","香蕉","菠萝");

print_r($fruit);

索引数组的初始化,有三种方式:

1$arry[0] = "苹果";

2array(‘0‘=>"苹果");

3array(‘苹果‘),系统默认从索引0开始

4取出索引数组中的值 $fruit0 = $fruit[‘0‘];

5for的使用,for的使用与C类似

5foreach的使用

foreach($fruit as $key=>$value)

{

  echo ‘第‘.$key.‘值是:‘.$value;

}

2关联数组

关联数组指的是键是字符串的数组

$fruit = array(‘apple‘=>‘苹果‘,‘orange‘=>‘橘子‘)

print_r($fruit);

关联数组的创立

$arr = array();

$array[‘apple‘] = ‘苹果‘;

或者

$arr = array(‘apple‘=>"苹果");

取关联数组的值$value = $fruit[‘banana‘];

foreach($fruit as $key=>$value)

3php中的对象

1定义一个类
class Car {
    var $name = ‘汽车‘;
    function getName() {
        return $this->name;
    }
}

$car = new Car();

$car->name = ‘宝马‘;

echo $car->getName();

同样类中的变量有public,private,protect

PHP在类中使用__construct()定义一个构造函数

 class Car {

  function __construct()

  {

     print "构造函数被调用\n";

  }

  function __destruct()

  {

    print "析构函数被调用\n";

  }

}

2静态属性与方法可以在不实例化类的情况下调用,直接使用类名::方法名的方式进行调用。静态属性不允许对象使用->操作符调用。

静态方法也可以通过变量进行动态调用

$func = ‘getSpeed‘;

$classname = ‘Car‘

echo $className::$func();

静态方法不能用this调用,可以用self,parent加上::来实现

3方法的重载

属性的重载通过使用__set,__get,__isset,_unset

ublic function __set($key, $val) {
        $this->ary[$key] = $val;
    }
    
    public function __get($key) {
        if (isset($this->ary[$key])) {
            return $this->ary[$key];
        }
        return null;
    }

如果调用的方法不存在的时候,将会调用__call方法,如果是静态方法,将会调用__callstatic方法

public function __call($name, $args) {
        if ($name == ‘speedUp‘) {
            $this->speed += 10;
        }
    }

4类和对象的高级特性

同一个类的两个实例的所有属性都相等时,可以用==来判断

$a = new Car();
$b = new Car();
if ($a == $b) echo ‘==‘; 
if ($a === $b) echo ‘===‘; 

同一个类的两个变量是否为同一个对象的引用的时候,可以用===来判断

对象的复制,用关键字clone来复制一个对象

class Car {
    public $name = ‘car‘;
    
    public function __clone() {
        $obj = new Car();
        $obj->name = $this->name;
    }
}
$a = new Car();
$a->name = ‘new car‘;
$b = clone $a;
var_dump($b);

对象序列化,可以通过serialize方法将对象序列化为字符串,用于存储或者传递数据,然后在需要的时候通过unserialize将字符串反序列化成对象进行使用。

$a = new Car();
$str = serialize($a); //对象序列化成字符串
echo $str.‘<br>‘;
$b = unserialize($str); //反序列化为对象
var_dump($b);

 







以上是关于半吊子菜鸟学Web开发 -- PHP语法学习1的主要内容,如果未能解决你的问题,请参考以下文章

半吊子菜鸟学Web开发1 --配置开发环境

半吊子菜鸟学Web开发2 --JavaScript学习1

半吊子菜鸟学Web开发6 -- Vscode开发环境配置

菜鸟学Laravel(零) 为什么选择Laravel

前端菜鸟是这样入门学习web前端的,请点进来!

PHP 7 教程_编程入门自学教程_菜鸟教程-免费教程分享