Blogger Information
Blog 5
fans 0
comment 0
visits 2459
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
PHP第二课:变量,常量,魔术常量
FILE2021
Original
465 people have browsed it

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. ?>
Correcting teacher:灭绝师太灭绝师太

Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post