php

PHP-enabled web pages are treated just like regular HTML pages and you can create and edit them the same way you normally create regular HTML pages.(像html一样被编辑)

PHP 能够生成动态页面内容
PHP 能够创建、打开、读取、写入、删除以及关闭服务器上的文件
PHP 能够接收表单数据
PHP 能够发送并取回 cookies
PHP 能够添加、删除、修改数据库中的数据
PHP 能够限制用户访问网站中的某些页面
PHP 能够对数据进行加密

require() include() require_once() include_once()

超全局变量

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

PHP数据类型

数据类型之变量

四种标量类型:

boolean  (布尔型)
integer   (整型)
float       (浮点型, 也称作 double)

string     (字符串)

当双引号中包含变量(即有$符号时)时,变量会与双引号中的内容连接在一起;

当单引号中包含变量时,变量会被当做字符串输出。

heredoc技术是php用来引用字符串的一种方式

两种复合类型:

array (数组)

php有两种数组:索引数组,关联数组。

object (对象)

两种特殊类型:

resource (资源)

资源是由专门的函数来建立和使用的,例如打开文件、数据连接、图形画布。我们可以对资源进行操作(创建、使用和释放)。

NULL (NULL)

表示一个变量没有值,1 当被赋值为NULL,2 或者尚未被赋值,3 或者被unset()

数据类型之常量

变量

它通过使用PHP中的函数define()定义。

bool define(string $constant_name, mixed $value[, $case_sensitive = true])

系统常量

系统常量是PHP已经定义好的常量,我们可以直接拿来使用

常用的系统常量

__FILE__                   当前PHP文件名
__LINE__                  当前PHP文件中所在的行数
__FUNCTION__          当前所执行的函数
__CLASS__              当前所执行的类

PHP_VERSION              PHP的版本
PHP_OS                    当前服务器的操作系统

使用常量

1  使用常量名直接获取值

2  第二种是使用constant()函数

判断常量是否已经定义

defined()函数

bool defined(string constants_name)

运算符

PHP运算符一般分为算术运算符、赋值运算符、比较运算符、三元运算符、逻辑运算符、字符串连接运算符、错误控制运算符。

算术运算符

加,减,乘,除,取余

+ , - , * , / ,%

赋值运算符

=         把右边表达式的值赋给左边的运算数

&         引用赋值,意味着两个变量都指向同一个数据。它将使两个变量共享一块内存,如果这个内存存储的数据变了,那么两个变量的值都会发生变化。

比较运算符

三元运算符

(expr1)?(expr2):(expr3)

逻辑运算符

and  与

&&   与

||   或

or  或

!   非

xor  异或(一个为true则为true)

字符串拼接运算符

(1)连接运算符(“.”)

(2)连接赋值运算符(“.=”)

错误控制运算符

语言结构语句

顺序结构

默认执行顺序,一行接着一行

条件结构 之if…else…    if...else if...     if...else if...else..

条件结构之switch…case…

break的作用是阻止代码进入下一个case 中继续执行。

循环结构之while循环语句

while(条件 ){

}

do{

}while(条件 )

循环结构之for循环语句

循环结构之foreach循环语句

一般有两种使用方式:不取下标、取下标。

(1)只取值,不取下标

<?php
foreach (数组 as 值){
//执行的任务
}
?>

(2)同时取下标和值

<?php
foreach (数组 as 下标 => 值){
//执行的任务
}
?>

函数

PHP内置了超过1000个函数,因此函数使得PHP成为一门非常强大的语言。

自定义函数

PHP函数的定义方式:
    1.使用关键字function”开始
    2.函数名可以是字母或下划线开头:function name()
    3.在大括号中编写函数体:

函数返回值

使用return关键字可以使函数返回值,可以返回包括数组和对象的任意类型,如果省略了 return,则默认返回值为 NULL。

可变函数

内置函数

PHP内置了很多标准的常用的处理函数,包括字符串处理、数组函数、文件处理、session与cookie处理等。

判断函数是否存在

经常会先使用function_exists判断一下函数是否存在。

同样的method_exists可以用来检测类的方法是否存在。

类是否定义可以使用class_exists。

文件是否存在file_exists

类与面向对象

类和对象

通常定义一个汽车类的方法为:

class Car {
$name = '汽车';
function getName() {
return $this->name;
}
}

创建一个类的实例,可以使用new关键字创建一个对象

类的属性

属性声明是由关键字 public,protected 或者 private 开头,后面跟一个普通的变量声明来组成。

public      外部可以调用

protected  受保护的,受保护的属性不允许外部调用

private    私有的,不允许外部调用

class Car {
//定义公共属性
public $name = '汽车'; //定义受保护的属性
protected $corlor = '白色'; //定义私有属性
private $price = '100000';
}

一般通过->对象操作符来访问对象的属性或者方法,对于静态属性则使用::双冒号进行访问。当在类成员方法内部调用的时候,可以使用$this伪变量调用当前对象的属性。

类的方法

在面向过程的程序设计中function叫做函数,在面向对象中function则被称之为方法。

同属性一样,类的方法也具有public,protected 以及 private 的访问控制。

使用关键字static修饰的,称之为静态方法,静态方法不需要实例化对象,可以通过类名直接调用,操作符为双冒号::。

构造函数和析构函数

_construct()   _destruct()

static静态关键字

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

静态方法中,$this伪变量不允许使用。可以使用self,parent,static在内部调用静态方法与属性。

访问控制

类属性必须定义为公有受保护私有之一。

被定义为公有的类成员可以在任何地方被访问。被定义为受保护的类成员则可以被其自身以及其子类和父类访问。被定义为私有的类成员则只能被其定义所在的类访问。

对象继承

重载

PHP中的重载指的是动态的创建属性与方法,是通过魔术方法来实现的。属性的重载通过__set,__get,__isset,__unset来分别实现对不存在属性的赋值、读取、判断属性是否设置、销毁属性。

对象的高级特性

字符串操作

字符串

通过下面的3种方法来定义:

1、单引号
2、双引号
3、heredoc语法结构

去除字符串首尾空格

trim()      去除一个字符串两端空格
rtrim()    去除一个字符串右部空格
ltrim()     去除一个字符串左部空格

获取字符串长度

strlen()

md_strlen()    // 获取字符串(中文)的长度

字符串截取

substr()

substr(字符串变量,开始截取的位置,截取个数)   // 英文

mb_substr()

mb_substr(字符串变量,开始截取的位置,截取个数, 网页编码)  // 中文

查找字符串

strpos(要处理的字符串, 要定位的字符串, 定位的起始位置[可选])

替换字符串

str_replace(要查找的字符串, 要替换的字符串, 被搜索的字符串, 替换进行计数[可选])

php入门 数据类型 运算符 语言结构语句 函数 类与面向对象的更多相关文章

  1. (转)PHP的语言结构和函数的区别

    相信大家经常看到对比一些PHP应用中,说用isset() 替换 strlen(),isset比strlen执行速度快等. 例子: if ( isset($user) ) { //do some thi ...

  2. PHP的语言结构和函数的区别

    相信大家经常看到对比一些PHP应用中,说用isset() 替换 strlen(),isset比strlen执行速度快等. 例子: if ( isset($user) ) { //do some thi ...

  3. PHP5实现foreach语言结构遍历一个类的实例

    PHP5实现foreach语言结构遍历一个类 创建一个类集成Iterator接口,并实现Iterator里面的方法即可,下面见实例代码实现 <?php class Test implements ...

  4. c++入门之—运算符重载和友元函数

    运算符重载的意义是:将常见的运算符重载出其他的含义:比如将*重载出指针的含义,将<<与cout联合使用重载出输出的含义,但需要认识到的问题是:运算符的重载:本质仍然是成员函数,即你可以认为 ...

  5. (五)羽夏看C语言——结构体与类

    写在前面   由于此系列是本人一个字一个字码出来的,包括示例和实验截图.本人非计算机专业,可能对本教程涉及的事物没有了解的足够深入,如有错误,欢迎批评指正. 如有好的建议,欢迎反馈.码字不易,如果本篇 ...

  6. 飞控入门之C语言结构体、枚举

    结构体 先来说明一下,结构体存在的意义.比如说有一只猫,要在C语言程序中综合描述它,那么可以这样说,它的体重是float类型的,颜色是char类型的,它的一些食物名字是一个数组,那么如果分开定义这些变 ...

  7. PHP学习(语言结构语句)

    switch case语句 for循环语句: foreach循环语句 常用于遍历数组,一般有两种使用方式:不取下标.取下标. (1)只取值,不取下标 <?php foreach (数组 as 值 ...

  8. PHP:函数和语言结构(转)

    转自:https://www.cnblogs.com/fanqiechaodan/articles/5222366.html 什么是语言结构呢?它和函数有什么不同吗? 1.  什么是语言结构和函数 语 ...

  9. PHP 语言结构(Language constructs)和函数的区别

    相信大家经常看到对比一些PHP应用中,说用isset() 替换 strlen(),isset比strlen执行速度快等. 例子: if ( isset($username[5]) ) { // The ...

随机推荐

  1. Python之路 1Day

    1.python基础入门   作者:黄旭 提示: 语法基于python3.5版本(会提示2.7版本和3.5版本的区别) Python命令行将以>>>开始,比如 >>> ...

  2. sort()方法理解

    转作者:SMTNinja来源:知乎 下面这个排序函数展示了任何基于比较的排序算法 (comparison-based sorting algorithm) 都有的一段代码: 从大到小排序(一列东西, ...

  3. <span>什么意思

    <span> 在CSS定义中属于一个行内元素,在行内定义一个区域,也就是一行内可以被 <span> 划分成好几个区域,从而实现某种特定效果. <span> 本身没有 ...

  4. struts2框架学习(二)

    ---恢复内容开始--- 一.搭建步奏 1.新建web项目,进行必备Jar包的拷贝,放到lib目录以便项目的引用. 2.拷贝框架的核心配置文件Struts.xml,放到src目录下,保留一个基本配置即 ...

  5. JS的console使用

    一,console输出的几种写法: console.error('错误信息') console.info('提示信息') console.warn('警告信息') console.log('普通信息' ...

  6. unity中的委托

    中午在做一个 数据点击然后 想把当前的Gameobject传过去,但是想了好久就是弄不出来. 之后网上看了下委托,抱着试试的心态,结果成功了 委托的定义 private delegate void C ...

  7. es5 数组

    一. 数组申明 var a = new Array(5)  会生成一个长度为5 每个元素都是undifined的数组 var a = new Array(1,2,3) 跟 var a = [1,2,3 ...

  8. C#中的系统时间获取问题

    C#获取当前系统时间 2010-01-02 16:24 --DateTime 数字型 System.DateTime currentTime=new System.DateTime(); 取当前年月日 ...

  9. xml-DTD相关

    DTD约束既可以作为一个单独的文件,也可以在XML文件内编写. 在XML文件内编写DTD:

  10. LED :制作一个追逐序列(霹雳游侠)

    ; ,,}; ; void setup() { ; led<NbrLeds; led++){ pinMode(ledPins[led], OUTPUT); } } void loop() { ; ...