博客列表 >PHP第二课:变量,常量,魔术常量

PHP第二课:变量,常量,魔术常量

FILE2021
FILE2021原创
2021年04月28日 16:58:05464浏览

PHP第二课

变量的类型转换方式

PHP的数据类型转换属于强制转换,允许转换的PHP数据类型有:

  1. int)、(integer):转换成整形
  2. float)、(double)、(real):转换成浮点型
  3. string):转换成字符串
  4. bool)、(boolean):转换成布尔类型
  5. array):转换成数组
  6. object):转换成对象

PHP数据类型有三种转换方式:

在要转换的变量之前加上用括号括起来的目标类型
使用3个具体类型的转换函数,intval()、floatval()、strval()
使用通用类型转换函数settype(mixed var,string type)
第一种转换方式:

  1. (int) (bool) (float) (string) (array) (object)
  2. <?php
  3. $num1=3.14;
  4. $num2=(int)$num1;
  5. var_dump($num1); //输出float(3.14)
  6. var_dump($num2); //输出int(3)
  7. ?>

第二种转换方式:

  1. intval() floatval() strval()
  2. <?php
  3. $str="123.9abc";
  4. $int=intval($str); //转换后数值:123
  5. $float=floatval($str); //转换后数值:123.9
  6. $str=strval($float); //转换后字符串:"123.9"
  7. ?>

第三种转换方式:
settype();
<?php
$num4 = 12.8;
$flg=settype($num4,”int”);
var_dump($flg); //输出bool(true)
var_dump($num4); //输出int(12)
?>

变量的值传递和引用传递

传值赋值: 将源变量($a)的值赋值出来一份新的值内存空间地址给另一个变量($b);修改两个变量的值 互不影响

  1. $a = 122;
  2. $b = $a;
  3. printf('$a的值为%d,$b的值为%d',$a,$b);
  4. $a = 222;
  5. printf('$a的值为%d,$b的值为%d',$a,$b);

2.引用赋值 &地址引用符,互相影响,没有赋值操作,因而引用赋值更加块

<?php
$price1 = 25;
$price2 = &$price1
printf(‘$price1的值为%d,$price 为%d<br>‘,$price1,$price2);

  1. $price1 = 250;
  2. printf('$price1的值为%d,$price2的值 为%d<br>',$price1,$price2);
  3. $fo = 35;
  4. $bar = &$fo; //仅仅是取消关联,bar还是等于35
  5. unset($fo);
  6. var_dump($bar); //35
  7. ?>

变量的作用域

常量,类,接口,函数,全局成员,变量不是全局成员, 受作用域的限制

// 变量的作用域问题:
<?php
function demo(){
$a = 100;
$b = 200;
echo $a+ $b;
}

  1. demo();
  2. echo $a; //报错访问不了
  3. ?>
  4. ###全局变量
  5. $one = 100;
  6. $two =200;
  7. function test(){
  8. // 1.global 引用
  9. global $one,$two;
  10. echo '运算结果是:'.($one+$two);
  11. echo '<hr />';
  12. // 2.$GLOBAL超全局变量
  13. echo '运算结果是:'. ($GLOBALS['one']+$GLOBALS['two']);
  14. }
  15. test();

PHP 魔术常量

PHP 向它运行的任何脚本提供了大量的预定义常量。

不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了。

有八个魔术常量它们的值随着它们在代码中的位置改变而改变。

LINE
文件中的当前行号。
FILE
文件的完整路径和文件名。
DIR
文件所在的目录
FUNCTION
函数名称(PHP 4.3.0 新加)
CLASS
类的名称(PHP 4.3.0 新加)
TRAIT
Trait 的名字(PHP 5.4.0 新加)
METHOD
类的方法名(PHP 5.0.0 新加)
NAMESPACE
当前命名空间的名称(区分大小写)

例如 LINE 的值就依赖于它在脚本中所处的行来决定。这些特殊的常量不区分大小写,如下:

LINE

文件中的当前行号。

实例

  1. <?php
  2. echo '这是第 " ' . __LINE__ . ' " 行';
  3. ?>

FILE
文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。

自 PHP 4.0.2 起,FILE 总是包含一个绝对路径(如果是符号连接,则是解析后的绝对路径),而在此之前的版本有时会包含一个相对路径。

实例:

实例

  1. <?php
  2. echo '该文件位于 " ' . __FILE__ . ' " ';
  3. ?>
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议