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

PHP进阶篇

Jason PHP开发工程师
难度初级
时长 9小时28分
  • 这里也可以再看两遍。
    查看全部
  • 属性必须定义访问控制, 方法没有设置则默认为公有 这个回头可以再看两遍
    查看全部
  • PHP面向对象中static静态属性和静态方法的调用。关于它们的调用(能不能调用,怎么样调用),需要弄明白了他们在内存中存放位置,这样就非常容易理解了。静态属性、方法(包括静态与非静态)在内存中,只有一个位置(而非静态属性,有多少实例化对象,就有多少个属性)。 实例: <?php header("content-type:text/html;charset=utf-8"); class Human{ static public $name = "小妹"; public $height = 180; static public function tell(){ echo self::$name;//静态方法调用静态属性,使用self关键词 //echo $this->height;//错。静态方法不能调用非静态属性 //因为 $this代表实例化对象,而这里是类,不知道 $this 代表哪个对象 } public function say(){ echo self::$name . "我说话了"; //普通方法调用静态属性,同样使用self关键词 echo $this->height; } } $p1 = new Human(); $p1->say(); $p1->tell();//对象可以访问静态方法 echo $p1::$name;//对象访问静态属性。不能这么访问$p1->name //因为静态属性的内存位置不在对象里 Human::say();//错。say()方法有$this时出错;没有$this时能出结果 //但php5.4以上会提示 ?>
    查看全部
  • 这里回头可以再看两遍!
    查看全部
  • mysql_fetch_row是从结果集取出1行数组,作为枚举 mysql_fetch_array是从结果集取出一行数组作为关联数组,或数字数组,两者兼得 eg: $sql="select abc,def from a"; $res=mysql_query($sql); 那么: $row=mysql_fetch_row($res); $row结果是两个:$row[0]和$row[1] 那么: $row=mysql_fetch_array($res); $row结果是4个:$row[0]、$row[1]、$row["abc"]和$row["def"] var_dump() 能打印出类型 print_r() 只能打出值 echo() 是正常输出
    查看全部
  • <?php //请修改变量p的正则表达式,使他能够匹配str中的电话 $p = '/\d+\-\d+/'; // 变量赋值 'xxxx' // /xxx/ 正则的开始和结束 // \d 代表0-9 就是至少3个数字,最多4个数字 // + 一次或多次匹配 // “-”(减号) // 1. 用在字符集“[...]”里表示一组字符,如: “[1-3]” —— 表示0到5中的任意一个字符,所以“<H[1-6]>”表示“<H1>”、“<H2>”或者“<H3>” “[d-g]” —— 表示“d”、“e”、“f”或者“g” // 2. 如果不是用在字符集“[...]”里,就是普通的字符,即减号“1-[1-3]” —— 表示“1-1”、“1-2”或者“1-3” // 3. 但是,即使在字符集“[...]”里,却非连续字符之间,也失去了特殊含义“1[-1]” —— 表示“1-”或者“11” $str = "我的电话是010-12345678";//待匹配的变量 preg_match($p, $str, $match); echo $match[0];
    查看全部
    0 采集 收起 来源:元字符与转义

    2018-03-22

  • <?php class Car { public $speed = 0; //汽车的起始速度是0 public $name="aodi"; public function speedUp() { $this->speed += 10; return $this->speed; } } //定义继承于Car的Truck类 class Truck extends Car{ public $age=10; public function speedUp(){ $this->speed=parent::speedUp()+50; } } $car = new Truck(); $car->speedUp();//执行了子类的方法,给父类的speed赋值 echo $car->speed;//输出speed echo $car->name;//输出父类的name echo $car->age;//输出子类的age //因为子类Truck 继承了父类Car 并且在子类中声明了$this->speed=Parent::speedUp()+50
    查看全部
  • <?php //分隔字符串,就是将字符串拆分为数组元素,然后遍历 $str = 'sun-moon-star'; $str=explode("-",$str); print_r($str); echo $count=count($str); echo $str[0]; echo $str[1]; echo $str[2].'<br/>'; for ($i=0;$i<count($str);$i++) { echo $str[$i].'<br/>'; } //合并数组元素 $arr= array('how','are','you'); $arr=implode(' ',$arr); echo $arr; ?>
    查看全部
    0 采集 收起

    2018-03-22

  • 字符串操作有增删改查和去空格: 去空格(trim:两段空格;rtrim/ltrim去左右空格);trim($str) 截取(英文截取:substr 中文md_substr;数位数类似数组下标,从0开始);substr($str,3,2,"utf8)" 计算字符串长度(strlen)strlen($str) 查找字符串strpos即字符串位置strpos($str,"字符串")
    查看全部
    0 采集 收起

    2018-03-22

  • PHP中有三个函数可以去掉字符串的空格 trim去除一个字符串两端空格。 rtrim是去除一个字符串右部空格,其中的r是right的缩写。 ltrim是去除一个字符串左部空格,其中的l是left的缩写。
    查看全部
    0 采集 收起

    2016-10-22

  • $link = mysql_connect('127.0.0.1', 'code1', '') or die('数据库连接失败');//数据库所在IP,数据库名,数据库密码;die连接失败 mysql_select_db('code1');//mysql_select_db(要选择的数据库,规定 MySQL 连接) mysql_query("set names 'utf8'");//mysql_query(规定要发送的 SQL 查询,规定 MySQL 连接) $result = mysql_query('select * from user limit 1'); $row = mysql_fetch_assoc($result);//mysql_fetch_assoc(要使用的数据指针)该数据指针是从 mysql_query() 返回的结果。 print_r($row);
    查看全部
    0 采集 收起 来源:PHP数据库扩展

    2018-03-22

  • <?php class Person { //下面是人的成员属性,都是封装的私有成员 private $name; //人的名子 private $sex; //人的性别 private $age; //人的年龄 //__get()方法用来获取私有属性 public function __get($property_name) { echo "在直接获取私有属性值的时候,自动调用了这个__get()方法<br>"; if(isset($this->$property_name)) { return($this->$property_name); } else { return(NULL); } } //__set()方法用来设置私有属性 public function __set($property_name, $value) { echo "在直接设置私有属性值的时候,自动调用了这个__set()方法为私有属性赋值<br>"; $this->$property_name = $value; } } $p1=new Person(); //直接为私有属性赋值的操作,会自动调用__set()方法进行赋值 $p1->name="张三"; $p1->sex="男"; $p1->age=20; //直接获取私有属性的值,会自动调用__get()方法,返回成员属性的值 echo "姓名:".$p1->name."<br>"; echo "性别:".$p1->sex."<br>"; echo "年龄:".$p1->age."<br>"; ?>
    查看全部
  • <?php class Person { //下面是人的成员属性,都是封装的私有成员 private $name; //人的名子 private $sex; //人的性别 private $age; //人的年龄 //__get()方法用来获取私有属性 private function __get($property_name) { echo "在直接获取私有属性值的时候,自动调用了这个__get()方法<br>"; if(isset($this->$property_name)) { return($this->$property_name); } else { return(NULL); } } //__set()方法用来设置私有属性 private function __set($property_name, $value) { echo "在直接设置私有属性值的时候,自动调用了这个__set()方法为私有属性赋值<br>"; $this->$property_name = $value; } } $p1=newPerson(); //直接为私有属性赋值的操作,会自动调用__set()方法进行赋值 $p1->name="张三"; $p1->sex="男"; $p1->age=20; //直接获取私有属性的值,会自动调用__get()方法,返回成员属性的值 echo "姓名:".$p1->name."<br>"; echo "性别:".$p1->sex."<br>"; echo "年龄:".$p1->age."<br>"; ?>
    查看全部
  • <?php class test{ protected $a=9,$b=2,$c; public $d; function __set($n,$v){ return $this->$n=$v+2; } // function __get($name){ // return $this->$name+2; // } } $a=new test(); $a->b=5; echo $a->b; Fatal error: Cannot access protected property test::$b in /26/547/HZmn/index.php on line 14 因为$b的是protected 的,如果换成public 则会打印所赋的值5
    查看全部
  • 初始化对象时会调用构造函数; 对象自动回收或者主动销毁时 ,会调用析构函数;
    查看全部

举报

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

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