Rumah > php教程 > php手册 > teks badan

php学习&数据类型

WBOY
Lepaskan: 2016-06-06 19:42:12
asal
1240 orang telah melayarinya

Apache web 服务器软件。同类产品有微软的 IIS 等。功能是让某台电脑可以提供 www 服务。可以使用以下方式查看 apache 是否正常运行。 地址/ 能显示默认页面表示成功。 PHP 是服务端语言解释软件。由 apache 加载以后,使 apache 增加解释 php 文件的功能。

Apache web 服务器软件。同类产品有微软的 IIS 等。功能是让某台电脑可以提供 www 服务。可以使用以下方式查看 apache 是否正常运行。
地址/ 能显示默认页面表示成功。
PHP 是服务端语言解释软件。由 apache 加载以后,使 apache 增加解释 php 文件的功能。以便这台服务器可以运行 php 程序。访问方法如下:
地址/文件名.php
注:该php文件必须在 apache 配置的工作目录中。不是安装目录。
mysql 小型关系数据库软件。为各种软件提供数据库支持。php站点保存的数据一般都存在 MYSQL 数据库里。当然你也可以选择其他数据库。不一定要是 MYSQL。只是 MYSQL 和 PHP 的“关系”非常好。。
dreamweaver 可视化网页编辑软件。可以用来编写大部的网站脚本程序。例如 HTML CSS ASP PHP 等。但是它仅局限于编辑代码。为可视部份提供可视化编辑。并不能运行服务端动态脚本程序,例如 ASP PHP 等需要服务端解释才能运行的网页程序。。
补充说明:如果只是从编写代码的角度而言。系统自带的记事本都可以写。不一定非得用 dreamweaver 。它用来编写 CSS HTML 还不错。写 PHP 的话就和拿记事本写没啥两样。。反正看不到运行后的效果。。
PHP环境:一台运行了 apache 的电脑,并且该 apache 已经加载了 php 。数据库不是必装软件。如果你不需要数据库可以不装。版本号不重要。新版的功能多一点。安全性好一点。就这样。

PHP共有8中数据类型

 类型名称  类型表示  取值
 bool  布尔型   true,false
 integer  整型 -2147483647-2147483648
 string  字符串型  字符串长度取决于机器内存
 float  浮点型  最大值1.8e308
 object  对象 通过new实例化 $obj=new person(); 
 array  数组类型  $arr=array(1,2,3,4,5,6);//一维数组
 resourse    
 null  空值  null

布尔型bool :

对于其他类型我们可以使用(bool)或者(boolean) 进行强制转换 eg:(bool)1=true;

以下几种情况在强制转化的时候默认为false:

 转换  结果
 布尔型的false var_dump((bool) false)  bool(false)
 整型 0  var_dump((bool) 0);  bool(false)
 浮点型 0.0  var_dump((bool) 0.0);  bool(false)
 字符串 ‘0’ var_dump((bool) '0');  bool(false)
 空数组$arr=array(); var_dump((bool) $arr)  bool(false)
 不包含任何成员变量的空对象只在PHP4使用,PHP5中为true  bool(false)
 NULL或者尚未赋值的变量 var_dump((bool) NULL)  bool(false)
 从没有任何标记(tags)的XML文档生成的SimpleXML 对象  bool(false)

字符串'0.0'转换结果为bool(true)

注:-1和其他非零值(不论正负)都是true

 

整型integer:

整型的范围-2147483647--2147483647 ,如果超过该值会自动转换成float型

我们可以使用echo PHP_INT_SZIE  输出integer的字长,和机器有关。echo PHP_INT_MAX 输出integer的最大值

PHP中没有整除运算 如果执行 1/2 会产生  float的0.5  如果想实现整除效果,则可以使用 (int)(1/2)=0 或者使用round(25/7)=4

强制转化成整型 (int)或者(integer) bool型 ture 转换成 1 ,false转换成0

 

浮点型float:

取值范围 最大值 :1.8e308  不知道最小值是多少? 求高手告知

浮点数的字长也和机器有关, 好像没有PHP_FLOAT_SIZE 啊,求高手告知如何的到浮点数字长

 

字符串类型string:

定义字符串的4种方法

1.单引号

2.双引号

3.heredoc语法结构

4.nowdoc 语法结构(PHP5.3.0之后)

单引号

单引号定义了最原始的字符串,里面的所有内容都按字符串处理,如果字符串中包含单引号则可以用\转义

双引号

双引号定义的字符串会解析一些特殊字符(\n,\b)和变量

可以将变量放置在双引号中的方式来代替将变量转换成 字符串(string)

$num=10;

$str = "$num"; //$str为字符串型的10 

heredoc语法结构

字符串本身

标示符

结束时的标示符必须在一行的开始位置,而且标示符的定义格式也必须按照PHP定义的规则,只能包含数字,字母,下划线,并且不能以数字下划线开头

结束标示符哪一行不允许有其他字符,可以在标示符后面添加一个分号,切分号前后也不能有tab或空格,否则PHP将无法解析该标示符,会继续向下查找标示符,如果在文件结尾前仍没有找到则会产生一个错误

heredoc就是一个没有使用双引号的双引号,就是里面可以包含双引号,且不用转义,而且可以解析特殊字符和变量

nowdoc 语法结构

字符串本身

标示符

nowdoc的开始标示符必须使用单引号括起来,结束标示符和其他规则都和heredoc一样

nowdoc就是没有使用单引号的单引号,nowdoc包含的字符串会原样输出,里面包含的特殊字符和变量不会被解析

 

如果双引号中包含数组变量中的几种情况

//我们先定义以下数组

[php] view plaincopyprint?

  1. $arr=array(    
  2.   'one'=>array(  
  3.    'name'=>'jiangtong',  
  4.    'sex'=>'男'  
  5.   ),  
  6.   'two'=>'zhaohaitao',  
  7.   'three'=>'fanchangfa'  
  8.  );  


上面是的数组中第一个元素二维的,后两个是一维的,我们访问一维的时候下面几种方式

[php] view plaincopyprint?

  1. echo "$arr[two]"//key没有单引号  
  2. echo "$arr['two']"//key有单引号 会出错,如果我们改成 echo "{$arr['two']}"; 则可以正确输出结果  
  3. echo "{$arr[two]}"//有双大括号,但是key没有单引号 这种情况PHP会先寻找有没有常量banana,有的话则将其替换,由于没有two常量则出错  

可见在访问一维数组的时候 要么不加key不加引号(考虑到第三种情况啊,加了就要被{}括起来,可以全不加

多维数组测试

[php] view plaincopyprint?

  1. echo "$arr[one][name]";  //输出结果为Array[name] 可见它返回了一个数组,只解析了一维  
  2. echo"{$arr['one']['name']}";//输出结果为jiangtong  

 在多维数组的访问中必须使用了大括号key必须使用双引号括起来

 

数组类型
在字符串类型中已经提到,被大括号括起来的,如果不加key引号,是合法的,那么PHP首先会查找是否有名为key的常量,有的话就会被替换,没有的话会产生一个找不到常量的警告才按普通字符串处理,所以建议大家一定加单引号

转换成数组使用(array)type  或者array(type) ,但是如果将只有一个值的转换成数组,会得到一个元素的数组,且下标为0,将NULL转换成数组会得到空的数组

我们可以在遍历数组的时候改变数组的值,在PHP5.0以上可以使用引用实现

[php] view plaincopyprint?

  1. $arr=array('a','b','c','d','e' );  
  2.  foreach($arr as &$value)  
  3.  {  
  4.       $value=strtoupper($value);  
  5.       echo $value;  
  6.  }//输出结果 ABCDE  


Object对象类型

实例化对象我们使用new  加入有一个person类,我们可以通过以下方式

  

[php] view plaincopyprint?

  1. $objPerson=new person();  


强制转换 (object): 如果将一个对象转化成对象那么它没有任何改变,对于其他任何值将会实例化一个stdclass的对象,如果该值为NULL,则会实例化一个空对象,如果 将数组转换成对象那么会将数组的key作为对象的属性,value为属性值,其他类型的值则名为scalar的成员变量包含该值

[php] view plaincopyprint?

  1. $arr=array('one'=>'a','two'=>'b' );  
  2. $obj=(object)$arr;  
  3. echo $obj->one   //输出结果为a;  

注:这是由key的数组如果没有字符key的数组,我不知道如何访问,谁知道希望告诉小弟一下,谢谢。

对于其他值

[php] view plaincopyprint?

  1. $obj1=(object)'jiang';  
  2.  echo $obj1->scalar;//输出结果jiang  


NULL 空类型

null大小写不敏感,NULL类型只有一个取值,表示一个变量没有值,下面三种情况变量被认为为NULL

1.被赋值为NULL

2.尚未被赋值

3.被unset();

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Cadangan popular
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan