php数据类型_转义_预定义变量_变量引用_变量的作用域

作者: 鲁智深 分类: PHP 发布时间: 2014-12-17 13:51

一、数据类型

数据类型是具有相同特性的一组数据的统称。

php支持三大类型:8种基本数据类型

三大类:

1、标量类型:整型(整数integer)、浮点型(小数float)、字符串型(字符串string)、布尔型(boolean true真 false假)

2、复合类型:数组(array)、对象(object)

3、特殊类型:资源(resource)、null

①整型

整型(int):可以用十进制,八进制,十六进制来表示

十进制:13(0-9)

1
2
3
echo "<br/>--------十进制------<br/>";
$num = 13;
var_dump($num);

八进制:013(0-7)

转成十进制–》3*8的0次方+1*8的1次方 = 3*1 + 1*8 = 11

1
2
3
     echo "<br/>--------八进制------<br/>";
     $num1 = 013;
     var_dump($num1);

十六进制:0x13(0-9 abcdef)

转成十进制–》3*16的0次方+1*16的1次方 = 3 + 16 = 19

1
2
3
     echo "<br/>--------十六进制------<br/>";
     $num2 = 0x13;
     var_dump($num2);

注意:代码中定义的非十进制数,在打印和运算的时候转成十进制

int型,能表示的最大整数跟平台相关,一般是4个字节,最大的2147483647(2的31次方-1)

1
2
     echo "<br/>--------int型最大------<br/>";
     echo pow(2,31);

4个字节 = 32位

一个字节 = 8位

1byte = 8bit

1kb = 1024b

1mb = 1024kb

两个php常量

1
2
3
4
5
     echo "<br/>--------int型最大字节数------<br/>";
     echo PHP_INT_SIZE;
     
     echo "<br/>--------int型最大数------<br/>";
     echo PHP_INT_MAX;

PHP_INT_SIZE:整型能表示的最大字节数 4字节 = 32位

PHP_INT_MAX:整型能表示的最大数

②浮点型

定义浮点型

$float = 1.234;

1
2
3
     echo "<br/>--------float------<br/>";
     $float = 1.234;
     echo $float;

$float = 1.234e2;//输出123.4

1
2
3
     echo "<br/>--------float 1.234e2------<br/>";
     $float1 = 1.234e2;
     echo $float1;

$float = 1.234E-2;//输出0.01234

1
2
3
     echo "<br/>--------float 1.234e-2------<br/>";
     $float2 = 1.234e-2;
     echo $float2;

E2或者E-2科学计数法

浮点型的精度:

$float = 1.234567890123456;//输出1.2345678901235

1
2
3
     echo "<br/>--------float 1.234567890123456------<br/>";
     $float3 = 1.234567890123456;
     echo $float3;

$float = 0.00001234567890123456;//输出1.2345678901235E-5

1
2
3
     echo "<br/>--------float 0.00001234567890123456------<br/>";
     $float4 = 0.00001234567890123456;
     echo $float4;

注意:浮点型一般具有14位十进制精度,如果整数位是0,从小数点后非零计算14位精度;

其实精度在php.ini中可以配置:precision = 14

③字符型

字符串(string)字符型数据必须在字符串定界符之间

字符串定界符:

双引号””

1
2
3
     echo "<br/>--------双引号------<br/>";
     $str = "100";
     var_dump($str);

单引号”

1
2
3
     echo "<br/>--------单引号------<br/>";
     $str1 = '100';
     var_dump($str1);

<<

1
2
3
4
5
     echo "<br/>--------<<<------<br/>";
     $str2 = <<<EOT
     <a href='http://www.baidu.com'> baidu </a>
EOT
;
     var_dump($str2);

④布尔型

两种情况:真true 假false

1
2
3
4
5
6
7
     echo "<br/>--------true------<br/>";
     $bool = true;
     var_dump($bool);
     
     echo "<br/>--------false------<br/>";
     $bool1 = false;
     var_dump($bool1);

⑤数组

array(1,2.1,true,”false”);

定义一个空数组array();

1
2
3
4
5
6
7
     echo "<br/>--------array------<br/>";
     $arr =  array(1,2.1,true,"false");
     var_dump($arr);
     
     echo "<br/>--------空数组------<br/>";
     $arr1 =  array();
     var_dump($arr1);

⑥对象:

在面向对象中,你实例化出来的

1
2
3
4
5
6
     echo "<br/>--------对象------<br/>";
     class Man{
                 
         }
     $zhangsan = new Man();
     var_dump($zhangsan);

⑦资源

通常在连接数据库和操作文件的时候,返回得到

1
2
3
     echo "<br/>--------资源------<br/>";
     $res = fopen("./1.php","r");
     var_dump($res);

⑧null

没有赋值的变量

1
2
3
     echo "<br/>--------null------<br/>";
     $null;
     var_dump($null);

用null赋值的变量

1
2
3
     echo "<br/>--------null = 13------<br/>";
     $null1 = 13;
     var_dump($null1);

unset()作用后的变量

1
2
3
4
     echo "<br/>--------释放 null = 13------<br/>";
     $null2 = 13;
     unset($null2);
     var_dump($null2);

二、转义

转义;是某些含有特殊意义的字符,仅仅当作一个普通字符来使用

1、\$

2、\’

3、\”

4、\\

5、\n 文本换行(不是浏览器换行)

6、\r 回车 (但是在Linux等系统下是没有”\r”符号的)

7、\t 水平制表符 键盘tab

1
2
3
4
5
6
7
8
9
10
11
     echo "<br/>--------转义\------<br/>";
     $content = "老师说"转义"";
     var_dump($content);
     
     echo "<br/>--------\ n------<br/>";
     $content1 = "老师说\n换行";
     var_dump($content1);
     
     echo "<br/>--------\ r------<br/>";
     $content2 = "老师说\r换行";
     var_dump($content2);

双引号和单引号的区别:

①双引号内的转义符或者变量名,是可以被php引擎解析的

②单引号仅仅能转义\’和\\

③双引号执行效率比单引号低

预定义变量

php的预定义变量(超全局变量:各个页面都能使用)

1、$_POST:包含了post方式提交给服务器的数据

2、$_GET:包含了get方式提交给服务器

3、$_COOKIE:包含所有cookie值,用户会换控制,存在客户端

4、$_SESSION:包含了所有seesion数据,用于用户会话控制,存在与服务器端

5、$_SERVER:包含了服务器的相关数据

6、$_ENV:包含了服务器相关的环境数据

7、$_FILES:包含了文件上传过来的所有数据,用于文件上传

8、$_REQUEST:包含了$_POST和$_GET和$_COOKIE

9、$GLOBALS:包含了所有的全局变量,用来在函数体内改变作用域

引用

引用变量存在的是变量的地址和被引用的变量,指向同一个空间(引用类似于变量的地址)

1
2
3
4
5
6
     echo "<br/>-----------引用 &-------------<br/>";
     $a = 21;
     $b = &$a;
     $c = &$b;
     $c = 100;
     var_dump($a);

变量的作用域

变量的可见性和全局性

1、函数体外的变量在函数体内不可见

2、函数体内的变量(局部变量),函数体外也是不可见的

1
2
3
4
5
6
7
     echo "<br/>-------------变量的作用域-----------<br/>";
     $a = 5;
     function test(){
         $a = 10;
     }
     test();
     echo $a;

在函数体内的使用的函数体外的变量:

用global标识符,声明当前函数体内的这个变量,是全局变量

1
2
3
4
5
6
7
     echo "<br/>-------------global 把函数体外的变量在函数体内使用-----------<br/>";
     $num = 8;
     function test3(){
         global $num;
         echo $num;
     }
     test3();

用$GLOBALS[‘变量名’];可以定到外面变量

1
2
3
4
5
6
7
     echo "<br/>-------------$GLOBALS 把函数体外的变量在函数体内使用-----------<br/>";
     $num = 8;
     function test4(){
         $num = $GLOBALS['num'];
         echo $num;
     }
     test4();

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

更多阅读
标签云