PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

博客列表 > 1. 变量的类型转换方式 2. 变量值传递与值引用的区别 2. 变量的作用域 3.php中魔术常量有哪些?

1. 变量的类型转换方式 2. 变量值传递与值引用的区别 2. 变量的作用域 3.php中魔术常量有哪些?

杰西卡妈妈
杰西卡妈妈 原创
2021年05月02日 05:55:53 558浏览
  1. 变量的类型转换方式
    php有8种变量类型:
    • $int = 22 标量类型
    • $float = 52.25 标量类型
    • $bool = true 标量类型
    • $str = ‘hello uniapp’ 标量类型
    • array 复合类型
    • object 复合类型
    • resource 特殊类型
    • null 特殊类型

1). 强制类型转换(临时)
在要转换的变量前写上变量类型(变量类型要加上小括号),这样就会变成相应的类型.
<?php
$page = (int)$_GET[‘page’];
var_dump($page);
page为整型

$uid = 25;
var_dump($uid,(string)$uid,(float)$uid);

var_dump((array)$uid,((array)$uid)[0]);

2) 系统自动转换
要求参与计算的数据都是数值类型,如果不是,就是会触发自动转换
@$res = 5 +’10.36 kg rice’;
var_dump($res);//float(15.36)

  • 字符串拼接符
    echo ‘how are you’ . 100 . ‘<br>‘;

  • 布尔类型转换

@var_dump($email);//null

//null===>false
if(!@$email)
{
echo ‘email不存在’;
}
3) 类型永久转换
settype($p,’integer’);
echo gettype($p);//integer

  1. 变量值传递与值引用的区别
    1) 变量赋值
    <?php
    $a = 45;
    $b = $a
    {$a++};
    echo $a;
    echo $b;
    ?>
    输出的内容是46。 b是1。
    2). 引用赋值/地址引用符
    新的变量$price2 引用/指向了原始变量, 互相影响, 没有复制操作,因而引用赋值更加快
    $foo = 35;
    $bar = &$foo;
    unset($foo);//仅仅是将$foo,$bar互相取消关联
    var_dump($bar);//int(35)
    3) 变量的检测与释放
    isset()用来检测变量是否被定义,若变量存在并且值不为null才返回true 否则返回false

<?php

teacher:’Chloe’;
$teacher = null;
var_dump(isset($teacher));
if(!isset($username))
{
echo ‘变量未被检测到’;
}
?>
输出的内容是false.

3.php中魔术常量
常量:

  • 固定的值(圆周率), 常量不能重新被定义 或者取消定义
  • 常量的命名前不能加 $
  • 常量推荐全部大写,多个单词之间用下划线连接
  • 常量, 类, 接口,函数 全局成员, 变量不是全局成员 受作用域的限制

php魔术常量 LINE DIR FUNCTION METHOD NAMESPACE

<?php

function func()
{
echo FUNCTION;
}
func();
echo ‘当前行数’.LINE;
class Person
{
public function walk()
{
echo METHOD;
}
}

?>
输出的内容是: func当前行数8

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议
 一纸荒凉* Armani2021-05-03 17:38:16 1楼
这个太秀了,支持博主,大佬有兴趣也可以看下我的博客,说不定有收获哦~