PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言,同js一样是弱类型语言

1.变量
2.数据类型详解
3.函数
4.基本函数

1. 变量

变量命名

  • 变量以 $ 符号开始,后面跟着变量的名称
  • 变量名必须以字母或者下划线字符开始,且只能包含字母数字字符以及下划线(A-z、0-9 和 _ )
  • 变量名不能包含空格,是区分大小写的($y 和 $Y 是两个不同的变量)
  • PHP的语句以 ; 结尾,不同于Python使用缩进,PHP 中的每个代码行都必须以分号结束。分号是一种分隔符,用于把指令集区分开来

基本数据类型

  • String(字符串)
  • Integer(整型)
  • Float(浮点型)
  • Boolean(布尔型)
  • Array(数组)
  • Object(对象)
  • NULL(空值)
  1. JS对象的创建与访问
1
2
3
4
5
6
7
8
9
10
11
//方式一(通过内置构造函数创建后添加属性)
let obj = {};
obj.name = 'Lucy'; //通过点添加属性
obj['sex'] = 'female'; //通过[]添加属性

//方式二(通过json格式直接创建添加属性)
let objects = {'name':'lily','sex':'female'};

//js对象可通过'.'和'[]'访问属性
console.log(obj.name);
console.log(obj['name']);
  1. PHP对象的创建于访问
1
2
3
4
5
6
7
8
9
10
11
12
13
class Demo {
public $one = 1;
protected $two = 2;
private $three = 3;
static $four = 4;
public function showAllProperties() {
foreach ($this as $key=>$value) {
echo "<br>$key :$value"; //可输出所有非静态属性
}
}
}
$demo = new Demo();
$demo->showAllProperties();

php运算符

  • 比较运算符
    • 松散比较:使用两个等号 == 比较,只比较值,不比较类型
    • 严格比较:用三个等号 === 比较,除了比较值,也比较类型
  • 逻辑运算符
    • 逻辑与:and 或者 &&
    • 逻辑或:or 或者 ||
    • 逻辑非: !
  • 三元运算符:(expr1) ? (expr2) : (expr3)
  • 赋值运算符
    • x = y x = y 左操作数被设置为右侧表达式的值
    • x += y x = x + y 加
    • x -= y x = x - y 减
    • x *= y x = x * y 乘
    • x /= y x = x / y 除
    • x %= y x = x % y 取余
    • a .= b a = a . b 连接两个字符串

2.数据类型详解

字符串

  • 并置运算符 (.) :用于把两个字符串值连接,拼接起来
  • strlen($str) :返回字符串的长度
  • strpos(字符串,查找目标值) 返回目标字符第一次出现的索引位置:如果在字符串中找到匹配,该函数会返回第一个匹配的字符位置。如果未找到匹配,则返回 FALSE。
  • trim(字符串,指定字符串) :移除字符串两侧的空白字符和其他字符
  • substr_count(字符串,目标字符串):查找目标字符在字符串中的出现次数
  • strtoupper()/strtolower() :大小写转化
  • str_replace(字符一,字符二,字符串):表示用字符二替换字符一,并且不会改变原字符串
  • 更多字符内置函数

数组

在 PHP 中,有三种类型的数组:

  • 数值数组:带有数字 ID 键的数组
  • 关联数组:带有指定的键的数组,每个键关联一个值
  • 多维数组:包含一个或多个数组的数组

PHP的基本数组内建函数:https://www.runoob.com/php/php-ref-array.html

数值数组

数值数组创建方式:

1
2
3
4
5
6
方式一:
$cars=array("Volvo","BMW","Toyota");
方式二:
$cars[0]="Volvo";
$cars[1]="BMW";
$cars[2]="Toyota";

数组的长度:count($array)

关联数组:使用您分配给数组的指定的键的数组

1
2
3
4
5
6
7
8
这里有两种创建关联数组的方法:

$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");

or:
$age['Peter']="35";
$age['Ben']="37";
$age['Joe']="43";

遍历数组:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
foreach(数组变量名 as 变量一 => 变量二){
// 每次循环执行的语句
变量一代表当前正在访问的数据的索引值
变量二代表当前正在访问的数据value
}
eg:
$card = array(
"age"=>18,
"Steve"=>"37",
"Elon"=>"43",
"name" => "chd"
);
foreach ($card as $index=>$value){
// php中的连接符号为'.',也仅有这一种拼接符号,连"+"都不是连接符,会报错
echo $index." => ".$value."<br>";
}

PHP多维数组:

array()数组中还存在数组array()

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$cars = array(
array("Volvo",22,18),
array("BMW",15,13),
array("Saab",5,2),
array("Land Rover",17,15),
"cards" =>array(
"age"=>18,
"Steve"=>"37",
"Elon"=>"43",
"name" => "chd",
"gender"=>"man"
)
);
获取行数:count($cars)
获取列数:count($cars[0])
获取关联数组:$cars["cards"]

3. 函数

PHP 函数准则:

  • 函数的名称应该提示出它的功能
  • 函数名称以字母或下划线开头(不能以数字开头)
1
2
3
4
5
6
7
8
创建 PHP 函数,函数是通过调用函数来执行的,语法:
<?php
function functionName($var1,$var2,...){
// 要执行的代码(若想使用全局变量,任然需要使用global关键字,才能使用)
}
?>
//函数的调用
$some = functionName(($var1,$var2,...)

4. 基本函数

date()函数

Date()函数:date(时间戳的格式,规定时间戳)
更多date函数:https://www.runoob.com/php/php-date.html

1
2
3
4
5
6
7
8
9
10
11
12
13
14

时间戳的格式: d - 表示月里的某天(01-31)
m - 表示月(01-12)
Y - 表示年(四位数)
1 - 表示周里的某天
h - 带有首位零的 12 小时小时格式
i - 带有首位零的分钟
s - 带有首位零的秒(00 -59)
a - 小写的午前和午后(am 或 pm)
其他字符,比如 "/", "." 或 "-" 也可被插入字符中,以增加其他格式。
$s_date = date('Y-m-d',strtotime('-6 days')); //表示在获取当前时间的基础上减去六天的时间,日期格式为Y-m-d
$e_date = date('Y-m-d'); // 表示获取当前的时间年月日
$e_date = date('Y-m-d H:i:s'); // 表示获取当前具体的时间
$e_date = date('Y-m-d', strtotime ("+1 day", strtotime('2017-11-11'))); // 表示将某一个字符串时间转换为目标时间格式

json函数

  1. json_encode
  • 语法: json_encode(value, options) 对变量进行 JSON 编码(e.g., json.dumps),字符串化

  • 参数

    • value: 要编码的值。该函数只对 UTF-8 编码的数据有效。
    • options:二进制掩码(JSON_UNESCAPED_UNICODE 选项,禁止中文被编码,形如ensure_ascii=False)
1
2
3
4
<?php
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
echo json_encode($arr); // {"a":1,"b":2,"c":3,"d":4,"e":5}
?>
  1. json_decode
  • 语法:json_decode ($json_string ,$assoc = false , $depth , $options) 对 JSON 格式的字符串进行解码(e.g., json.loads),转换为 PHP 变量。还原化
  • 参数
    • json_string: 待解码的 JSON 字符串,必须是 UTF-8 编码数据
    • assoc: 当该参数为 TRUE 时,将返回数组,FALSE 时返回对象。
    • depth: 整数类型的参数,它指定递归深度
    • options: 二进制掩码,目前只支持 JSON_BIGINT_AS_STRING 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';

var_dump(json_decode($json));
var_dump(json_decode($json, true));
?>
执行结果
object(stdClass)#1 (5) {
["a"] => int(1)
["b"] => int(2)
["c"] => int(3)
["d"] => int(4)
["e"] => int(5)
}

array(5) {
["a"] => int(1)
["b"] => int(2)
["c"] => int(3)
["d"] => int(4)
["e"] => int(5)
}
  1. json_last_error:返回最后发生的错误

 评论

联系我 | Contact with me

Copyright © 2019-2020 谁知你知我,我知你知深。此恨经年深,比情度日久

博客内容遵循 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 协议