配置sublime

{"cmd": ["php", "$file"],"file_regex": "php$","selector": "source.php"
}

代码实例

<?php
echo "hello world"# 单行注释
// 单行注释
/*多行注释
*/
?>

基础语法

<?php // 八种数据类型: 整型 浮点型 布尔值 空 字符串 数组 对象 资源
// PHP所有变量有一个美元符号($)
// 变量赋值
$name = "Tom";
echo $name;// 变量赋值多行内容
$detail = "\nthis is first line
this is second line\n";echo $detail;// 全局变量
$a = 20;function global_func(){// print($a);  // Undefined variableglobal $a;  // 访问全局变量print($a);  // 20$GLOBALS['a'] += 30;  // 修改全局变量echo "\n";
}global_func();
print($a);  // 50
echo "\n";// 静态变量
function static_func(){static $a = 1;echo "a=";echo $a;echo "\n";$a += 1;
}static_func();  // a=1
static_func();  // a=2
static_func();  // a=3// 常量定义
define("MAX", 20);// 常量访问
print MAX;  // 20
print "\n";print(constant("MAX"));  // 20
print "\n";// PHP比较运算符 == ===(值和类型都相同) <> !=   !==(值不同或类型不同)
?><?php
// 结构控制
if (1 < 2){print("1<2");
}
else{print("1>=2");
}
print "\n";
// 1<2// 循环类型// 有4种方式:for、while、do...while、foreach,前面3种和C语言中类似
for($i=1; $i<=3; $i++){print($i);print "\n";
}
// 1 2 3 $i = 1;
while ($i<=3) {print $i;print " ";$i++;
}
print "\n";
// 1 2 3do{print $i;print " ";$i--;
} while($i>0);
print "\n";
// 4 3 2 1// 遍历数组, 指针移动
$list = array(1, 2, 3, 4, 5);
foreach ($list as $value) {print "value = $value ";
}
print "\n";
// value = 1 value = 2 value = 3 value = 4 value = 5 // 数组 3种
// 数字数组
$numbers = array(1, 2, 3, 4, 5);
foreach ($numbers as $value) {print("$value ");
}
print "\n";
// 1 2 3 4 5// 修改数组元素
$numbers[0] = "one";
$numbers[1] = "two";
$numbers[2] = "three";foreach ($numbers as $value) {print("$value ");
}
print "\n";
// one two three 4 5// 新建数组
$names[0] = 1;
$names[2] = 2;
foreach ($names as $value) {print("$value ");
}
print "\n";
// 1 2 // 获取数组长度
$length = count($numbers);
for($i=0; $i<$length; $i++){print($numbers[$i]);print(" ");
}
print "\n";
// one two three 4 5 // 关联数组 PHP 5.5.36, 相当于python的字典
$people = ["Tom"=>"20", "Jack"=>"30", "Jimi"=>"40"];// 访问数组元素
print($people["Tom"]);
print(" ");
print($people["Jack"]);
print(" ");
print($people["Jimi"]);
print("\n");
// 20 30 40// 修改数组元素
$people["Tom"] = 50;
$people["Jack"] = 60;
$people["Jimi"] = 70;// 遍历数组元素
foreach ($people as $key => $value) {print("$key=>$value\n");
}
print("\n");
// Tom=>50
// Jack=>60
// Jimi=>70// 多维数组
$cars = array("first" => ["name" => "car1", "color" => "white"],"second" => ["name" => "car2","color" => "black"]);// 访问多维数组元素
print($cars["first"]["name"]);  # car1
print("\n");// PHP数组排序函数
/*
sort() - 对数组进行升序排列
rsort() - 对数组进行降序排列
asort() - 根据关联数组的值,对数组进行升序排列
ksort() - 根据关联数组的键,对数组进行升序排列
arsort() - 根据关联数组的值,对数组进行降序排列
krsort() - 根据关联数组的键,对数组进行降序排列
*/// 字符串
// 双引号串 中的内容可以被解释而且替换
// 单引号串 中的内容总被认为是普通字符// 字符串并置运算符(.):把两个变量连接在一起
$a = "hello";
$b = "world";
print($a . " " . $b);  // hello world
print("\n");// 计算字符串的长度
$c = "中国";
print(strlen($a));  // 5
print(strlen($c));  // 6// 查找字符串
print(strpos($a, "ll")); // 2
print(strpos($a, "xx")); // FALSE
print("\n");// 函数
// $a普通参数, &$b引用参数, $c默认参数
function func_args($a, &$b, $c=2){$a += 1;$b += 1;$c += 1;print("a=$a b=$b c=$c\n"); // a=2 b=2 c=3return $a;  // 返回值
}$args_a = 1;
$args_b = 1;$ret = func_args($args_a, $args_b);
print("ret=$ret\n");  // ret=2print("args_a=$args_a args_b=$args_b\n");
// args_a=1 args_b=2
?>

面向对象

<?php // 继承 PHP不支持多继承/*
访问控制
public(公有):公有的类成员可以在任何地方被访问。
protected(受保护):受保护的类成员则可以被其自身以及其子类和父类访问。
private(私有):私有的类成员则只能被其定义所在的类访问。
*/
// 类属性必须定义为公有,受保护,私有之一, 默认为公有, var 定义,则被视为公有
// Final 关键字
// 方法被声明为 final,则子类无法覆盖该方法。
// 如果一个类被声明为 final,则不能被继承。class Father{public $name = "Tom";protected $age = 40;private $address = "北京";function print_info(){print("public name: " . $this->name . "\n");print("protected age: " . $this->age . "\n");print("private address: " . $this->address . "\n");}final function work(){print("龙生龙,凤生凤,老鼠生儿会打洞\n");}
}// 子类继承父类
class Child extends Father{protected $age = 20;  // 重写父类的protected属性function print_info(){print("public name: " . $this->name . "\n");print("protected age: " . $this->age . "\n");// print("private address: " . $this->address . "\n"); // Undefined property}// function work(){//     print("子类不要父类的工作\n");// }  // Cannot override final method
}$father = new Father();
$father->print_info();
/*
public name: Tom
protected age: 40
private address: 北京
*/$child = new Child();
$child->print_info();
/*
public name: Tom
protected age: 20
*/// 构造函数和析构函数class People{function __construct($name){$this->name = $name;print("父类构造函数 " . $this->name);}function __destruct(){print("父类析构函数");}
}class Human extends People{function __construct($name){parent::__construct($name);  // 调用父类的构造方法print("子类构造函数 " . $this->name);}
}$people = new People("老王");
print("\n");
/*
父类构造函数 老王
父类析构函数
*/$human = new Human("小王");
print("\n");
// 父类构造函数 小王子类构造函数 小王 父类析构函数// 接口
// 指定某个类必须实现哪些方法,但不需要定义这些方法的具体内容
// 接口中定义的所有方法都必须是公有,这是接口的特性
// 类可以实现多个接口interface ISleep{public function sleep($time);
}interface IEat{public function eat();
}// 实现多接口
class Dog implements ISleep, IEat{public function sleep($time){print("sleep... time: $time\n");}public function eat(){print("eating ...\n");}
}$dog = new Dog();
$dog->sleep(5);
$dog->eat();
/*
sleep... time: 5
eating ...
*/// 抽象类// 任何一个类,如果它里面至少有一个方法是被声明为抽象的,那么这个类就必须被声明为抽象的。
// 定义为抽象的类不能被实例化。
// 继承一个抽象类的时候,子类必须定义父类中的所有抽象方法abstract class AbsBase{// 抽象方法abstract public function sleep();// 普通方法public function eat(){print("eat...\n");}}class Cat extends AbsBase{public function sleep(){print("cat sleep...\n");}
}class Pig extends AbsBase{public function sleep(){print("pig sleep...\n");}
}// $abs = new AbsBase(); // Cannot instantiate abstract class$cat = new Cat();
$cat->eat();  // eat...
$cat->sleep();  // cat sleep...$pig = new Pig();
$pig->eat();  // eat...
$pig->sleep();  // pig sleep...// 静态属性 static
// 不实例化类而直接访问class Foo{public static $name = "static name";public function get_name(){print(self::$name);  // 用一个变量来动态调用类的静态属性print("\n");}
}print(Foo::$name);  // static name  // 通过类直接调用静态属性$foo = new Foo();
$foo->get_name();  // static name?>

参考
PHP快速入门

PHP快速入门-基础语法及面向对象相关推荐

  1. Vue_02 快速入门 基础语法1

    目录 1. 模板语法 1.1 插值 1.1.1 文本 1.1.2 html 1.1.3 属性 1.1.4 表达式 1.2 指令 1.2.1 核心指令 2. 过滤器 2.1 局部过滤器 2.2 全局过滤 ...

  2. HTML5快速入门基础语法

    文章目录 前言:一些需要注意的小细节 1.meta标签 2.块元素 3.行内元素 inline element 一.列表 二.HTML 链接 三.结构化语义标签(布局标签) 四.图片标签 五.内联框架 ...

  3. Go 语言快速开发入门(基础语法详解,第一节)

    Go 语言快速开发入门(基础语法详解,第一节) 一.基础语法详解,第一节 1.HelloWorld 1.1.代码编写和解释 1.2.go语言注意事项 2.Go 语言的转义字符&&Go ...

  4. python快速入门【五】---- 面向对象编程、python类

    python入门合集: python快速入门[一]-----基础语法 python快速入门[二]----常见的数据结构 python快速入门[三]-----For 循环.While 循环 python ...

  5. python编程语法大全-Python编程入门——基础语法详解

    今天小编给大家带来Python编程入门--基础语法详解. 关于怎么快速学python,可以加下小编的python学习群:611+530+101,不管你是小白还是大牛,小编我都欢迎,不定期分享干货 每天 ...

  6. python编程语法-Python编程入门——基础语法详解

    今天小编给大家带来Python编程入门--基础语法详解. 一.基本概念 1.内置的变量类型: Python是有变量类型的,而且会强制检查变量类型.内置的变量类型有如下几种: #浮点 float_num ...

  7. python基础编程语法-Python编程入门——基础语法详解

    今天小编给大家带来Python编程入门--基础语法详解. 一.基本概念 1.内置的变量类型: Python是有变量类型的,而且会强制检查变量类型.内置的变量类型有如下几种: #浮点 float_num ...

  8. Python快速入门(八)面向对象1:类、对象和封装

    Python快速入门(八)面向对象1:类.对象和封装 1.类和对象 1)类的定义 2)对象的定义 3)类和对象的关系 4)类的设计 2.第一个面向对象案列 代码1 代码2 3.设置对象属性 4.ini ...

  9. 大话python3入门基础语法

    大话python3入门基础语法 语法目录 大话python3入门基础语法 总纲 1.基础类型 2.列表类型变量 3.字典类型 4.函数类型 5.类类型 6.总结 总纲 python是一门涉及面很广的语 ...

最新文章

  1. mybatis的一些基础问题
  2. 常用实验资源共享整理 20111026
  3. canvas绘制正文形并填充-2
  4. 【深度学习的数学】2-11 用Excel体验梯度下降法(用python实现)
  5. PHP(Thinkphp框架)将数据表导出csv文件
  6. uva1152 - 4 Values whose Sum is 0(hash或STL技巧ac)
  7. 如何做可靠的分布式锁,Redlock真的可行么
  8. flask get 参数_Python web 用它5分钟以后,我放弃用了四年的 Flask
  9. Android Animation学习(一) Property Animation原理介绍和API简介
  10. bzoj 3385: [Usaco2004 Nov]Lake Counting 数池塘(DFS)
  11. 机房计算机配置思维导图,运用思维导图培养高中学生信息技术学科核心素养
  12. WM8960的音量控制测试程序
  13. 窗口函数:计算环比和同比
  14. [网络]网速很快但是访问网页很慢的两种解决办法
  15. 柬埔寨吴哥旅游:并不仅仅是神秘
  16. 阿里直播SDK,直播推流地址和播流地址生成
  17. java二重积分_对比较简单点的二重积分的做题方法
  18. Oracle 按日期分组
  19. 华为云跨服务器传输文件,与云服务器传输文件
  20. 离开Facebook后,Caffe创始人贾扬清加入阿里巴巴

热门文章

  1. 自定义 View 之联系人字母索引及定位效果
  2. 计算机网络专业的自我鉴定,计算机网络专业的自我鉴定
  3. halcon读取摄像头视频
  4. 《从零开始的RPG游戏制作教程》第二期:让勇者和怪物登场
  5. 广东省韶关市谷歌卫星地图下载
  6. VS 2019中使用qt
  7. 2021湖北高考成绩查询时间咋查,2021年湖北高考成绩查询具体时间,几点钟可以查询...
  8. MySQL 8 复制(四)——GTID与复制
  9. 视频分析与多模态融合之一,为什么需要多模态融合
  10. C语言例题:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。