经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » PHP » 查看文章
PHP基础入门
来源:cnblogs  作者:wakyde  时间:2019/10/15 9:02:23  对本文有异议

变量和作用域

  1. $GLOBALS[index] 的数组中。 index 保存变量的名称。这个数组可以在函数内部访问,也可以直接用来更新全局变量。
  2. static作用域
    保持某个局部变量不被删除

  3. 参数作用域

echo和print

  1. echo - 可以输出一个或多个字符串
  2. print - 只允许输出一个字符串,返回值总为 1(自带换行)

    提示: echo 输出的速度比 print 快, echo 没有返回值,print有返回值1。

PHP中的EOF

  1. 必须后接分号,否则编译通不过。
  2. EOF 可以用任意其它字符代替,只需保证结束标识与开始标识一致。
  3. 结束标识必须顶格独自占一行(即必须从行首开始,前后不能衔接任何空白和字符)。
  4. 开始标识可以不带引号或带单双引号,不带引号与带双引号效果一致,解释内嵌的变量和转义符号,带单引号则不解释内嵌的变量和转义符号。
  5. 当内容需要内嵌引号(单引号或双引号)时,不需要加转义符,本身对单双引号转义,此处相当与q和qq的用法。
    常用大写的 EOT、EOD、EOF 来表示,但是不只限于那几个(也可以用:JSON、HTML等),只要保证开始标记和结束标记不在正文中出现即可。
    位于开始标记和结束标记之间的变量可以被正常解析,但是函数则不可以。在 heredoc 中,变量不需要用连接符 . 或 , 来拼接

数据类型

  1. var_dump()返回变量的类型和值
  2. 数组: $x = array(1, 2, 3);
  3. 布尔: $x = true;
  4. 空值: $x = null;
  5. 对象: class

类型比较(没看完)

  1. == : 只比较值
  2. ===: 比较类型和值

常量

  1. 设置常量: define(name, value, case_insensitive )
    • name:必选参数,常量名称,即标志符。
    • value:必选参数,常量的值。
    • case_insensitive :可选参数,如果设置为 TRUE,该常量则大小写不敏感。默认是大小写敏感的。
  2. 常量是全局的
    函数中可以直接用常量,不用什么关键字!

字符串变量

  1. 并置运算符 : " . "
  2. 字符串长度: strlen()
  3. 查询字符的位置: strpos(str1, str2)

运算符

  1. 算术
  2. 赋值
  3. 递增/递减
  4. 比较
    • 不等于: ! 和 <>
    • 绝对不等于: !== (值和类型都不同)
  5. 逻辑
    • 与: and &&
    • 或: or ||
    • 非: xor !
  6. 数组运算
    • 集合: +
    • 判断: ==, ===, !=, <>, !==
  7. 三元:
    • a1? a2: a3
    • php5.3 + : 可以省略中间表达式
  8. PHP7+的运算
    • ??
  9. 运算符优先级
  10. 括号改变运算符优先级

条件语句

  • if 语句 - 在条件成立时执行代码
  • if...else 语句 - 在条件成立时执行一块代码,条件不成立时执行另一块代码
  • if...elseif....else 语句 - 在若干条件之一成立时执行一个代码块
  • switch 语句 - 在若干条件之一成立时执行一个代码块

数组

  1. 创建数组: array()
  2. php中有三种类型的数组:
    • 数值数组 - 带有数字 ID 键的数组
    • 关联数组 - 带有指定的键的数组,每个键关联一个值
    • 多维数组 - 包含一个或多个数组的数组
  3. 获取数组的长度: count($变量名)
  4. 遍历(数值和关联的遍历方式不同)

数组排序

  • sort() - 对数组进行升序排列
  • rsort() - 对数组进行降序排列
  • asort() - 根据关联数组的值,对数组进行升序排列
  • ksort() - 根据关联数组的键,对数组进行升序排列
  • arsort() - 根据关联数组的值,对数组进行降序排列
  • krsort() - 根据关联数组的键,对数组进行降序排列

PHP超级全局变量

  • $GLOBALS
  • $_SERVER
  • $_REQUEST
  • $_POST
  • $_GET
  • $_FILES
  • $_ENV
  • $_COOKIE
  • $_SESSION

循环

  • while - 只要指定的条件成立,则循环执行代码块
  • do...while - 首先执行一次代码块,然后在指定的条件成立时重复这个循环
  • for - 循环执行代码块指定的次数
  • foreach - 根据数组中每个元素来循环代码块(用于遍历数组)
  1. foreach($array as $value)
  2. {
  3. 要执行代码;
  4. }

函数

  1. ```
  2. function name(){}
  3. ```

魔术常量

  1. __line__
  2. __file__
  3. __dir__
  4. __function__
  5. __class__
  6. __trait__
  7. __method__
  8. __namespace__

命名空间(include用来导入文件)

  1. namespace MyProject{ }
  2. 声明命名空间的编码方式: declare(encoding='utf-8')
  3. 命名空间前出现了<html> 会致命错误 - 命名空间必须是程序脚本的第一条语句
  4. 子命名空间:
    遵循文件与目录的关系
    namespace MyProject\Sub\Level; //声明分层次的单个命名空间
  5. 命名空间的使用
    • 非限定名称,或不包含前缀的类名称
    • 限定名称,或包含前缀的名称
    • 完全限定名称,或包含了全局前缀操作符的名称
  6. namespace操作符和__NAMESPACE__
  7. use操作符: 导入 起别名用as
    用use只会影响非限定和限定名称,不会影响完全限定名称
  8. 在动态类型中(是文件和文件之间的互相调用),限定和完全限定名称没有区别
  9. 全局空间:用

面向对象

  1. $this: 类自身对象
  2. 成员变量用var定义
  3. 创建对象: $a = new Car;
  4. 对象调用: ->
  5. 构造函数:

    1. function __construct($par1, $par2){
    2. $this->url = $par1;
    3. $this->url = $par2;
    4. }
  6. 析构函数:

    1. function __destruct(){}
  7. 继承:(PHP不支持多继承)

    1. class Car extends Parent{
    2. // 代码部分
    3. }
  8. 访问控制: public, protected, private
    继承中可以对 public 和 protected 进行重定义,但 private 而不能
  9. 接口
    • 使用接口(interface),可以指定某个类必须实现哪些方法,但不需要定义这些方法的具体内容。
    • 接口是通过 interface 关键字来定义的,就像定义一个标准的类一样,但其中定义所有的方法都是空的。
    • 接口中定义的所有方法都必须是公有,这是接口的特性。
    • 要实现一个接口,使用 implements 操作符。
    • 类中必须实现接口中定义的所有方法,否则会报一个致命错误。类可以实现多个接口,用逗号来分隔多个接口的名称。
  10. 常量: const

  11. 抽象类

    1. abstract class AbstractClass
    2. {
    3. // 强制要求子类定义这些方法
    4. abstract protected function getValue();
    5. abstract protected function prefixValue($prefix);
    6. // 普通方法(非抽象方法)
    7. public function printOut(){
    8. print $this->getValue() . PHP_EOL;
    9. }
    10. }

    此外,子类方法可以包含父类抽象方法中不存在的可选参数。

  12. static关键字
    • 声明类属性或方法为 static(静态),就可以不实例化类而直接访问。
    • 静态属性不能通过一个类已实例化的对象来访问(但静态方法可以)。
    • 由于静态方法不需要通过对象即可调用,所以伪变量 $this 在静态方法中不可用。
    • 静态属性不可以由对象通过 -> 操作符来访问。
    • 自 PHP 5.3.0 起,可以用一个变量来动态调用类。但该变量的值不能为关键字 self,parent 或 static。
  13. final关键字
    • 如果父类中的方法被声明为 final,则子类无法覆盖该方法。如果一个类被声明为 final,则不能被继承。
  14. 调用父类构造方法
    • PHP 不会在子类的构造方法中自动的调用父类的构造方法。要执行父类的构造方法,需要在子类的构造方法中调用 parent::__construct() 。

原文链接:http://www.cnblogs.com/wakyde/p/11675042.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号