PHP - 初学基础二(数据类型、字符串变量、预算符、条件语句、数组)

数据类型

String(字符串), Integer(整型), Float(浮点型), Boolean(布尔型), Array(数组), Object(对象), NULL(空值)。
(仅记录部分)

整型Integer

整数是一个没有小数的数字。
整数规则:

  • 整数必须至少有一个数字 (0-9)
  • 整数不能包含逗号或空格
  • 整数是没有小数点的
  • 整数可以是正数或负数
  • 整型可以用三种格式来指定:十进制, 十六进制( 以 0x 为前缀)或八进制(前缀为 0)。

PHP var_dump() 函数返回变量的数据类型和值

var_dump() 函数用于输出变量的相关信息。
var_dump() 函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。

echo,print,print_r,var_dump 的区别
1.echo
输出一个或者多个字符串。
2.print
和 echo 最主要的区别: print 仅支持一个参数,并总是返回 1。
3.print_r
打印关于变量的易于理解的信息,如果给出的是 string、integer 或 float,将打印变量值本身。如果给出的是 array,将会按照一定格式显示键和元素。object 与数组类似。 记住,print_r() 将把数组的指针移到最后边。使用 reset() 可让指针回到开始处。
4.var_dump
此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。
5.var_dump 和 print_r 的区别
var_dump 返回表达式的类型与值而 print_r 仅返回结果,相比调试代码使用 var_dump 更便于阅读。


浮点型Float

浮点数是带小数部分的数字,或是指数形式。

布尔型Boolean

布尔型可以是 TRUE 或 FALSE。

数组Array

数组可以在一个变量中存储多个值。

对象Object

对象数据类型也可以用于存储数据。对象必须声明。
首先使用class关键字声明类对象。类是可以包含属性和方法的结构。在类中定义数据类型,然后在实例化的类中使用数据类型。

NULL 值

NULL 值表示变量没有值。NULL 是数据类型为 NULL 的值。
NULL 值指明一个变量是否为空值。 同样可用于数据空值和NULL值的区别。

类型比较

  • 松散比较:使用两个等号 == 比较,只比较值,不比较类型。
  • 严格比较:用三个等号 === 比较,除了比较值,也比较类型。
    在这里插入图片描述

常量

常量是一个简单值的标识符。该值在脚本中不能改变。
一个常量由英文字母、下划线、和数字组成,但数字不能作为首字母出现。 (常量名不需要加 $ 修饰符)。
注意: 常量在整个脚本中都可以使用。

设置 PHP 常量

设置常量,使用 define() 函数,函数语法如下:

bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )

该函数有三个参数:

  • name:必选参数,常量名称,即标志符。
  • value:必选参数,常量的值。
  • case_insensitive :可选参数,如果设置为 TRUE,该常量则大小写不敏感。默认是大小写敏感的。

常量在定义后,默认是全局变量,可以在整个运行的脚本的任何地方使用。

字符串变量

字符串变量用于存储并处理文本。
字符串变量用于包含有字符的值。
当赋一个文本值给变量时,文本值加上单引号或者双引号。

并置运算符

在 PHP 中,只有一个字符串运算符。并置运算符 (.) 用于把两个字符串值连接起来。

<?php 
$txt1="Hello world!"; 
$txt2="What a nice day!"; 
echo $txt1 . " " . $txt2; //使用了两次并置运算符。这是由于我们需要在两个字符串之间插入一个空格。
?>
strlen() 函数

strlen() 函数返回字符串的长度(字符数)。
strlen() 常常用在循环和其他函数中,因为那时确定字符串何时结束是很重要的。(例如,在循环中,我们需要在字符串中的最后一个字符之后结束循环。)

strpos() 函数

strpos() 函数用于在字符串内查找一个字符或一段指定的文本。
如果在字符串中找到匹配,该函数会返回第一个匹配的字符位置。如果未找到匹配,则返回 FALSE。

运算符

包含 算术运算符、 赋值运算符、 递增/递减运算符、 比较运算符、 逻辑运算符、 数组运算符、 三元运算符、 组合比较符(PHP7+)。其中每样运算符都有运算符优先级。
因为在其他语言中,接触过算术运算符等,该文主要整理少见/自己不熟悉 以及比较重要的部分。

PHP7+ 版本新增整除运算符 intdiv()

<?php
var_dump(intdiv(10, 3));	//int(3)
?>

在逻辑运算符中,“x and y” 和 "x && y"是一样的, “x or y” 和 "x || y "是一样的
"x xor y" 是异或,如果 x 和 y 有且仅有一个为 true,则返回 true。例如 x=6
y=3 (x == 6 xor y == 3) 返回 false

数组运算符
运算符名称描述
x + y集合x 和 y 的集合
x == y相等如果 x 和 y 具有相同的键/值对,则返回 true
x === y恒等如果 x 和 y 具有相同的键/值对,且顺序相同类型相同,则返回 true
x != y不相等如果 x 不等于 y,则返回 true
x <> y不相等如果 x 不等于 y,则返回 true
x !== y不恒等如果 x 不等于 y,则返回 true
三元运算符

(expr1) ? (expr2) : (expr3)
表达式 expr1 ?: expr3 在 expr1 求值为 TRUE 时返回 expr1,否则返回 expr3。

组合比较符(PHP7+)

PHP7+ 支持组合比较符(combined comparison operator)也称之为太空船操作符,符号为<=>。组合比较运算符可以轻松实现两个变量的比较,当然不仅限于数值类数据的比较。
$c = $a <=> $b;
解析如下:

  • 如果 $a > $b, 则 $c 的值为 1。
  • 如果 $a == $b, 则 $c 的值为 0。
  • 如果 $a < $b, 则 $c 的值为 -1。
运算符优先级

说明:左 = 从左到右,右 = 从右到左。
在这里插入图片描述
在这里插入图片描述
运算符优先级中,or 和 ||,&& 和 and 都是逻辑运算符,效果一样,但是其优先级却不一样。

条件语句

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

数组

数组是一个能在单个变量中存储多个值的特殊变量。
在 PHP 中,array() 函数用于创建数组:
array();
在 PHP 中,有三种类型的数组:

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

自动分配 ID 键(ID 键总是从 0 开始):$cars=array("Volvo","BMW","Toyota");
人工分配 ID 键:$cars[0]="Volvo"; $cars[1]="BMW"; $cars[2]="Toyota";

获取数组的长度 - count() 函数

count() 函数用于返回数组的长度(元素的数量):

<?php
$cars=array("Volvo","BMW","Toyota");
echo count($cars);
?>
遍历数值数组

可以用for循环

关联数组

关联数组是使用分配给数组的指定的键的数组。
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
或者
$age['Peter']="35"; $age['Ben']="37"; $age['Joe']="43";
随后可以在脚本中使用指定的键:

<?php
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
echo "Peter is " . $age['Peter'] . " years old.";
?>
遍历关联数组

遍历并打印关联数组中的所有值,可以使用 foreach 循环

<?php
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
 
foreach($age as $x=>$x_value)
{
    echo "Key=" . $x . ", Value=" . $x_value;
    echo "<br>";
}
?>

数组排序

  • sort() - 对数组进行升序排列
  • rsort() - 对数组进行降序排列
  • asort() - 根据关联数组的值,对数组进行升序排列
  • ksort() - 根据关联数组的键,对数组进行升序排列
  • arsort() - 根据关联数组的值,对数组进行降序排列
  • krsort() - 根据关联数组的键,对数组进行降序排列
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值