php 数据类型和变量
发布:smiling 来源: PHP粉丝网 添加日期:2014-01-15 09:08:46 浏览: 评论:0
php是弱类型的,一个变量不需要预先声明,也不需要指定类型,php中变量是$加上变量名,php的变量是区分大小写的,例如上例中的 $my='my'.
php支持的变量类型包括:布尔型,整型,浮点型,字符串,数组和对象,前四种很常用,也和其他语言类似,不多做介绍,数组和对象后文具体介绍。
php中有函数来检测对象的类型,它们是 getttype。gettype返回一个string,它的值可以是array,boolean,double,integer,object,resource,string 和 unknow type. php也支持显式的类型转换,语法和c类似。
转换操作符,转换为
(array) 数组
(bool) (boolean) 布尔型
(object) 对象
(float),(double),(real) 浮点数
(string) 字符串
例如,代码如下:
- <?php
- $str ='a string';
- $num=15;
- $numstr='123.3';
- echo gettype($str),'<br/>';
- echo gettype($num),'<br/>';
- echo gettype($numstr),'<br/>';
- $numstr=(float)$numstr;
- echo gettype($numstr);
- ?>
输出结果为:
- string
- integer
- string
- double
还有函数可以用来判断一个变量是不是某种类型,例如 is_array(),is_bool()等等,用法都类似。
函数和变量作用域,php声明函数的方法很简单,形式如下:
- function functionname(parameters){
- function body
- }
不需要指定返回类型,括号中也不需要指定变量类型,只要有变量名就可以,例代码如下:
- <?php
- function taxedprice($price,$taxrate){
- return $price*(1+$taxrate);
- }
- echo taxedprice(100, 0.03);
- ?>
默认情况下,php是按值传递参数的,在函数内改变参数的值并不会改变函数外变量的值,但是php也支持按引用传递,语法和c一致,&$paramname,例如,下面一个经典的例子:
- <?php
- function swap1($x,$y){
- $t=$x;$x=$y;$y=$t;
- }
- function swap2(&$x,&$y){
- $t=$x;$x=$y;$y=$t;
- }
- $a=3;$b=5;
- swap1($a,$b);
- printf("a is %d, b is %d <br/>",$a,$b);
- swap2($a,$b);
- printf("a is %d, b is %d <br/>",$a,$b);
- ?>
输出结果:
a is 3, b is 5
a is 5, b is 3
php的函数还支持参数的默认值,语法和c也是一样的,例如,代码如下:
- <?php
- function taxedprice($price,$taxrate=0.03){
- return $price*(1+$taxrate);
- }
- echo taxedprice(100);
- ?>
下面介绍变量的作用域,php的变量作用域和c很类似,有局部变量,函数参数,全局变量,静态变量4种,局部变量就是在函数内声明的变量,函数参数是在函数首部声明的变量;不在函数中声明的变量是全局变量,全局变量可以在任何地方访问到,但是和c不同的是,如果在函数中要修改全局变量的值需要用global关键字显式指定它是全局变量,否则php就会声明一个同名的局部变量并且覆盖它。例如,代码如下:
- <?php
- $taxrate=0.03; //global
- function change1() {
- $taxrate+=1;
- }
- function change2() {
- global $taxrate;
- $taxrate+=1;
- }
- change1();
- echo $taxrate,'<br/>';
- change2();
- echo $taxrate,'<br/>';
- ?>
输出的结果是:0.03 ,1.03
php还有一种超级全局变量,超级全局变量是由php系统预定义的,主要用来访问与环境有关的信息,例如当前用户会话,用户操作环境和本地环境等,超级全局变量是一个数组,例如$_server中存储了服务器相关的信息。$_get,$_post,$_files,$_cookie中分别存储了客户端采用get提交,和post的提交的信息,上传的文件,cookie信息等。这些变量的使用都很简单,需要什么信息只需要查找
变量的变量
和c一类的静态语言不同,php的变量名本身可以是一个变量,这对于需要动态生成很多变量的时候是很便利的,例如,代码如下:
- <?php
- $r="hello";
- $$r="i am hello";
- echo $hello;
- ?>
- //输出结果为: i am hello
流程控制语句
主要包括,if else, while,for,do while,switch. 这些和c语言都很像,基本是一致的,不多做介绍,有些不同,php的 elseif是一个关键字,是连在一起的,而c语言是else if
Tags: php 数据类型 变量
- 上一篇:php中返回查询数据集四种方法
- 下一篇:php join 构造sql查询语句
相关文章
- ·PHP 是什么?(2013-11-12)
- ·Php.ini文件位置在哪里 Php.ini文件找不到(2013-11-12)
- ·PHP 数据类型(2013-11-12)
- ·php 获取当前脚本的url(2013-11-12)
- ·php技术生成静态页面的实现(2013-11-13)
- ·缺陷月项目启动 披露PHP脚本语言漏洞(2013-11-13)
- ·在PHP中全面阻止SQL注入式攻击(2013-11-13)
- ·php生成随机密码的几种方法(2013-11-13)
- ·PHP中使用FCKeditor2.3.2配置(2013-11-13)
- ·如何使用PHP开发高效的WEB系统(2013-11-13)
- ·php:树形结构的算法(2013-11-13)
- ·php4和php5区别(2013-11-13)
- ·php数据库连接(2013-11-13)
- ·如何正确理解PHP的错误信息(2013-11-13)
- ·php页面漏洞分析及相关问题解决(2013-11-13)
- ·当在连接PHP时,抱怨一些数值没有定义参考?(2013-11-27)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)