0
点赞
收藏
分享

微信扫一扫

PHP_数据类型、运算符、流程控制

php数据类型

php是弱类型语言,对变量没有类型,类型是针对于数据来说的
基本数据类型
----整形:十进制、二进制(0b前缀)、八进制(0前缀)、十六进制(0x前缀)
----浮点型
----布尔型:True、False
----字符串型:单引号和双引号都可以。单引号只能解析少量转义字符,而多引号识别较多;
双引号能够解析嵌套在字符串中的php变量。
下标和python一样:从左到右为0开始,从右到左为-1开始
复合数据类型
----数组型
----对象型:存放对象数据
特殊数据类型
----资源型:存储外部资源数据(文件资源、数据库资源)
----空型:变量没有存储任何数据

单引号和双引号的两个结构:nowdoc、heredoc

$str="hey";

nowdoc:单引号形式,不解析嵌套在字符串中的php变量
$str1=<<<'END'
$str, world
I LOVE YOU
END;

heredoc:双引号形式,可以解析嵌套在字符串中的php变量
$str1=<<<END
$str, world
I LOVE YOU
END;

注意:
(1)END结束标记必须写在一行的开头
(2)显示的格式在源码中可见,但是不显示在网页内容中
(3)格式中的注释会被显示到网页中
(4)两个END所在行后面不能由任何东西,包括空格
(5)这里不一定非得是END,也可以是其它的标记

数组

可以使用array关键字来初始化数组
$arr1=array();
$arr2=array('name', 'age');
可以使用括号[]来初始化数组
$arr3=[];
$arr4=['name', 'age'];
可以使用变量和[]初始化数组,但是这时需要给定一个值,而且一次只能添加一个元素
$arr5[]='name';

数组不限定长度,数组元素的值可以是任意数据类型
数组下标可以是纯数字、纯字符串(关联数组)、混合数字和字符串(混合数组)
$arr=array(1=>10, 2=>20, 3=>30, ‘name’=>‘xiaoming’);
如果默认增加元素,系统自动从最大下标开始+1
增加一个小于已有最大下标,系统不会自动根据下标值排序

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

类型转换有自动转换和强制转换
自动转换和强制转换都不会改变变量的类型

运算符

赋值运算符

算术运算符
除法(/)运算和python相同,结果为浮点类型

错误抑制符
是一种代码保护机制,为了不让用户看到自己不明白的错误。
单目运算,将可能出现的比较低级的错误给抑制,不报错误。
系统依然错误,但是不报错。
@:在可能出现错误的表达式之前使用

比较运算符
===:左边等于右边,且两边数据类型一致则返回True,否则返回False

$a = 10;
$b = '10c';
var_dump($a == $b); -->bool(True)
进行比较时,除非是全等,否则系统会自动进行类型转换

飞船运算符
<=>:左边大于右边返回1, 等于右边返回0,小于右边返回-1

合并运算符
用于数据判断取值操作
??:左边表示要判定的表达式,右边表示判定不成功的默认结果
遵循短路运算

<?php
很多时候,用户提交数据会有一些选填部分,用户可以不填使用默认值
$gender = $_GET['gender'] ?? 'male';
如果用户提交了gender信息,那么$gender就保存用户信息;如果没提交,就默认使用male
ench $gender; 当前没有提交gender,所以使用默认的male
?>

逻辑运算符
与(&&)、或(||)、 非(!)
遵循短路运算

连接运算符
用于php中的字符串运算
.=:将左右两边的字符串连接成一个,得到一个字符串类型

$a = 'hello';
$b = 'world';
$c = $a . ' ' . $b;

三目运算符
表达式1?结果1:结果2

自增/自减运算符
++、–:和C语言相同,分前缀和后缀

位运算符
按位与&、按位或|、按位异或^、按位取反~、按位左移<<、按位右移>>(左边补符号位)

流程控制

-----分支结构----

if分支结构

<?php
if (条件判断){
语句块;
//exit; //整个程序终止执行
}else if (条件判断){
语句块;
}else{
语句块;
}
?>

switch结构

<?php
switch(n){
case 1:
echo $a;
case 2:
echo $b;
default:
echo $c;
}
?>

----循环结构----

while语句

<?php
while (条件){
要执行的代码;
}
?>

do while语句

<?php
$i=1;
do{
echo "The number is " . $i . "<br>";
$i++;
}
while ($i<=5);
?>

for循环

<?php
for ($i=1; $i<=5; $i++){
echo "The number is " . $i . "<br>";
}
?>

foreach循环
每进行一次循环,当前数组元素的值就会被赋值给 $value 变量(数组指针会逐一地移动),在进行下一次循环时,您将看到数组中的下一个值.

<?php
$x=array("one","two","three");
foreach ($x as $value){
echo $value . "<br>";
}
?>


举报

相关推荐

0 条评论