PHP8种变量

Posted 付俊捷

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP8种变量相关的知识,希望对你有一定的参考价值。

/*
变量的数据类型 8种
标量 : 布尔型bool / 整型int / 浮点float / 字符串string
复合类型 : 数组array / 对象object
特殊类型: 资源resource /空 null

*/
var_dump(true);
var_dump(0);
var_dump(1.011111);
var_dump(‘i love you ‘);
var_dump(array());
var_dump(new exception());
var_dump(mysql_connect(‘localhost‘,‘root‘,‘123456‘));
var_dump(null);

 

变量的数据类型
字符串 一串字符
声明字符串三种方式:
双引号:
1.双引号可以解析变量
2.双引号解析特殊字符
如: (换行) (水平制表符tab)
3.双引号不能包含双引号,如果需要显示双引号需加上转义字符.
4.单双引号可以互插.

判断类型的函数
is_bool() //是否是布尔值
is_int() is_integer() is_long() //是否是整型
is_float() is_double() is_real() //是否是浮点
is_string() //是否是字串
is_array() //是否是数组
is_object() //是否是对象
is_resource() //是否是资源
is_null() //是否是null
is_scalar() //是否是标量
is_numeric() //是否是任意类型的数字或字符串数字.

 

常量 固定不变的量
常量的语法:
define(‘常量名‘,‘常量值‘,‘是否区分大小写‘);
常量的值,只允许赋值为标量
可选参数3 :
默认值是false 区分大小写
true 不区分大小写
常量名一般为大写
常量一旦为定义就不能再重复定义或修改值
常量名不要用$
输出未定义的常量,会把常量名当作字符串输出出来
i 判断一个常量是否存在
defined();
php中预定义的常量

 

define(‘YZL‘,‘3.14‘);
// define(‘YZL‘,3.1415926);
// var_dump(defined(AAA));
// var_dump(AAA);

echo ‘<hr>‘;
echo PHP_VERSION;
echo ‘<br>‘;
echo M_PI;

//魔术常量
echo ‘<hr>‘;
echo __FILE__;//当前文件的绝对路径
echo ‘<br>‘;
echo __LINE__;
echo ‘<hr>‘;


//查看所有已定义的常量
echo ‘<pre>‘;
print_r(get_defined_constants(true));
echo ‘</pre>‘;

 

PHP中的运算符
按操作数分类:
1元运算符 / 2元运算符 / 3元运算符
按功能分类:
算术运算符
字符串运算符
赋值运算符
比较运算符
逻辑运算符
位运算符
其他运算符

 

++ 自增1 递增
-- 自减1 递减

++ 在前 先++再赋值, ++ 在后 先赋值再++
-- 在前 先--再赋值, -- 在后 先赋值再--

$a = 5;

$b = $a++ + ++$a;

$c = ++$a + $b++;

$d = $a-- - --$b + $c--;

echo $a.‘<br>‘; 
echo $b.‘<br>‘; 
echo $c.‘<br>‘; 
echo $d.‘<br>‘; 

 

/*
赋值运算符
左边的操作数必须是变量
=
使用复合型的赋值运算符时,必要要给初始值
+= //$a +=5; 相当于 $a = $a + 5
-= //$a -=5; 相当于 $a = $a - 5
*=
/=
%=
.=
*/
$a = 10;
$a += 5;
// $a = $a + 5;
echo $a;
echo ‘<hr>‘;

$str = ‘‘;
$str .= ‘我和你‘; //$str = $str.‘我和你‘;
$str .= ‘心连心‘; //$str = $str.‘心连心‘;
$str .= ‘无基友‘;
$str .= ‘不编程‘;

echo $str;

 

/*
比较运算符
比较时,条件为真返回true,为假返回false
>
<
>=
<=
== 等于 只判断值是否相等
=== 全等于 既判断值又判断类型 全部相同
!= 不等于 只判断值是否不相等
!== 不全等 既判断值又判断类型 一个不相同 就XX

!(=为赋值,==判断是否相等,===判断是否全等)
*/
$a = 0;
var_dump(10 < 0);
var_dump($a == 0);//true
var_dump($a == ‘0‘);//true

var_dump($a === 0);//true
var_dump($a === ‘0‘);//false


var_dump($a != 0);//false
var_dump($a != ‘0‘);//false
var_dump($a !== ‘0‘);//true
var_dump($a !== 0.0);//true

 

 

/*
逻辑运算符
判断一件事是真还是假 返回就是true 或false的bool型

&& and 逻辑与 两边为真,即为真.否则为假
|| or 逻辑或 两边为假,即为假.否则为真
! not 逻辑非 把假变成真,真变假(取反)
xor 异或 两边不同才算真爱,相同就是假
*/
//&& 逻辑与
var_dump(true && true);//true
var_dump(true && false);//false
var_dump(false && true);//false
var_dump(false && false);//false
echo ‘<hr>‘;

// || 逻辑或
var_dump(true || false);//true
var_dump(true || true);//true
var_dump(false || true);//true
var_dump(false || false);//false
echo ‘<hr>‘;

// ! 逻辑非
var_dump(!true);//false
var_dump(!false);//true
echo ‘<hr>‘;


//&& || 短路问题
$a = 1;
if ($a == 2 && $b = 100) {
//$b 没有被赋值 当左值为假的时候,之后不会被执行直接返回false
echo ‘true区间‘;
}else{
echo ‘false区间‘;
}
echo $b;
echo ‘<hr>‘;

$c = 1;
if ($c == 1 || $d =200) {
echo ‘true区间‘;
}
echo $d;
echo ‘<hr>‘;

//短路的小应用
$e = ‘555‘;
is_int($e) && $e+=10;
echo $e;

 

 

/*
其他运算符
?: 三元运算符

`` 执行运算符
@ 错误控制符
*/

// if (10>0) {
// echo ‘11111‘;
// }else{
// echo ‘22222‘;
// }
echo (10 < 0)?‘11111‘:‘22222‘;
echo ‘<hr>‘;

$name = empty($_GET[‘a‘])?‘用户未填写姓名‘:$_GET[‘a‘];

echo $name;









































































































































































以上是关于PHP8种变量的主要内容,如果未能解决你的问题,请参考以下文章

php模仿go实现多变量返回

PHP8 的 JIT 是啥

php8.2安装redis

Symfony 5 PHP8 安全属性

Swoole v4.5.9 版本发布,兼容 PHP8!

Deepin20 安装 PHP8等环境