为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
PHP进阶篇_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

PHP进阶篇

Jason PHP开发工程师
难度初级
时长 9小时28分
  • 用数组变量的名字后跟中括号+键的方式来访问数组中的值,键使用单引号或者双引号括起来。 比如: $fruit = array('apple'=>"苹果",'banana'=>"香蕉",'pineapple'=>"菠萝"); $fruit0 = $fruit['banana']; print_r($fruit0); 上面代码的作用:先把一个数组$fruit中键为banana字符串的值取出来然后赋给一个另一个变量$fruit0,最后输出变量值。
    查看全部
  • 关联数组赋值 关联数组赋值有两种方式: 第一种:用数组变量的名字后面跟一个中括号的方式赋值,当然,关联数组中,中括号内的键一定是字符串。比如,$arr['apple']='苹果'; 第二种:用array()创建一个空数组,使用=>符号来分隔键和值,左侧表示键,右侧表示值。当然,关联数组中,键一定是字符串。比如,array('apple'=>'苹果');
    查看全部
  • 回顾下前面介绍的内容,PHP有两种数组:索引数组、关联数组。 索引和关联两个词都是针对数组的键而言的。 先介绍下,关联数组是指数组的键是字符串的数组。 可以使用下面代码实现: $fruit = array( 'apple'=>"苹果", 'banana'=>"香蕉", 'pineapple'=>"菠萝" );
    查看全部
  • for循环访问索引数组里的值 for循环可以将数组里的所有值都访问到,下面我们展示下,用for循环访问索引数组里的值。 例如: $fruit=array('苹果','香蕉','菠萝'); for($i=0; $i<3; $i++){ echo '<br>数组第'.$i.'值是:'.$fruit[$i]; }
    查看全部
  • foreach循环访问索引数组里的值 foreach循环可以将数组里的所有值都访问到,下面我们展示下,用foreach循环访问索引数组里的值。 例如: $fruit=array('苹果','香蕉','菠萝'); foreach($fruit as $k=>$v){ echo '<br>第'.$k.'值是:'.$v; }
    查看全部
  • 前面的小节,我们已经接触过访问控制了,访问控制通过关键字public,protected和private来实现。被定义为公有的类成员可以在任何地方被访问。被定义为受保护的类成员则可以被其自身以及其子类和父类访问。被定义为私有的类成员则只能被其定义所在的类访问。 类属性必须定义为公有、受保护、私有之一。为兼容PHP5以前的版本,如果采用 var 定义,则被视为公有。 class Car { $speed = 10; //错误 属性必须定义访问控制 public $name; //定义共有属性 } 类中的方法可以被定义为公有、私有或受保护。如果没有设置这些关键字,则该方法默认为公有。 class Car { ​ //默认为共有方法 function turnLeft() { } } 如果构造函数定义成了私有方法,则不允许直接实例化对象了,这时候一般通过静态方法进行实例化,在设计模式中会经常使用这样的方法来控制对象的创建,比如单例模式只允许有一个全局唯一的对象。 class Car { private function __construct() { echo 'object create'; } private static $_object = null; public static function getInstance() { if (empty(self::$_object)) { self::$_object = new Car(); //内部方法可以调用私有方法,因此这里可以创建对象 } return self::$_object; } } //$car = new Car(); //这里不允许直接实例化对象 $car = Car::getInstance(); //通过静态方法来获得一个实例
    查看全部
  • Static静态关键字 静态属性与方法可以在不实例化类的情况下调用,直接使用类名::方法名的方式进行调用。静态属性不允许对象使用->操作符调用。 class Car { private static $speed = 10; public static function getSpeed() { return self::$speed; } } echo Car::getSpeed(); //调用静态方法 静态方法也可以通过变量来进行动态调用 $func = 'getSpeed'; $className = 'Car'; echo $className::$func(); //动态调用静态方法 静态方法中,$this伪变量不允许使用。可以使用self,parent,static在内部调用静态方法与属性。 class Car { private static $speed = 10; public static function getSpeed() { return self::$speed; } public static function speedUp() { return self::$speed+=10; } } class BigCar extends Car { public static function start() { parent::speedUp(); } } BigCar::start(); echo BigCar::getSpeed();
    查看全部
  • 构造函数和析构函数 PHP5可以在类中使用__construct()定义一个构造函数,具有构造函数的类,会在每次对象创建的时候调用该函数,因此常用来在对象创建的时候进行一些初始化工作。 class Car { function __construct() { print "构造函数被调用\n"; } } $car = new Car(); //实例化的时候 会自动调用构造函数__construct,这里会输出一个字符串 在子类中如果定义了__construct则不会调用父类的__construct,如果需要同时调用父类的构造函数,需要使用parent::__construct()显式的调用。 class Car { function __construct() { print "父类构造函数被调用\n"; } } class Truck extends Car { function __construct() { print "子类构造函数被调用\n"; parent::__construct(); } } $car = new Truck(); 同样,PHP5支持析构函数,使用__destruct()进行定义,析构函数指的是当某个对象的所有引用被删除,或者对象被显式的销毁时会执行的函数。 class Car { function __construct() { print "构造函数被调用 \n"; } function __destruct() { print "析构函数被调用 \n"; } } $car = new Car(); //实例化时会调用构造函数 echo '使用后,准备销毁car对象 \n'; unset($car); //销毁时会调用析构函数 当PHP代码执行完毕以后,会自动回收与销毁对象,因此一般情况下不需要显式的去销毁对象。
    查看全部
  • $car = new Car();//建立一个Car类的对象 Car::speedUp();//将Car类下的speed变量数值增加10 $car->speedUp();//也是将Car类下的speed变量数值增加10,而不是将car对象的speed变量数值增加10,因为private static $speed echo $car->getSpeed(); //提取Car类下的speed的数值 此时建立一个新的对象,如$car02 = new Car();//并不会初始化speed变量的数值, echo $car02->getSpeed();//还是提取Car类下的speed的数值,
    查看全部
  • print_r() 显示关于一个变量的易于理解的信息。如果给出的是 string、integer 或 float,将打印变量值本身。如果给出的是 array,将会按照一定格式显示键和元素。object 与数组类似。
    查看全部
    0 采集 收起

    2016-05-28

  • PHP中用英文的点号.来连接两个字符串。
    查看全部
    0 采集 收起

    2016-05-28

  • 当我们创建了自定义函数,并且了解了可变函数的用法,为了确保程序调用的函数是存在的,经常会先使用function_exists判断一下函数是否存在。同样的method_exists可以用来检测类的方法是否存在。 function func() { } if (function_exists('func')){ echo 'exists'; } 类是否定义可以使用class_exists。 class MyClass{ } // 使用前检查类是否存在 if (class_exists('MyClass')) { $myclass = new MyClass(); } PHP中有很多这类的检查方法,例如文件是否存在file_exists等。 $filename = 'test.txt'; if (!file_exists($filename)) { echo $filename . ' not exists.'; }
    查看全部
    0 采集 收起

    2016-05-28

  • 单引号和双引号到底有啥区别呢? PHP允许我们在双引号串中直接包含字串变量。 而单引号串中的内容总被认为是普通字符。
    查看全部
    0 采集 收起

    2016-05-28

  • 详见http://www.php.net/__get
    查看全部
  • <?php $fruit=array('apple'=>"苹果",'banana'=>"香蕉",'pineapple'=>"菠萝"); foreach($fruit as $key=>$value){ echo '<br>键是:'.$key.',对应的值是:'.$value; } ?>
    查看全部

举报

0/150
提交
取消
课程须知
需要有一定的网页基础知识如HTML、CSS样式等,并且已经学习完成《PHP入门篇》对PHP已经有了简单的了解,如变量、常量、数据类型等。
老师告诉你能学到什么?
全面的掌握PHP的理论知识与实践中的应用方法,提高编程能力与掌握网页开发技能。
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!