Home  >  Article  >  php教程  >  php基础入门篇学习笔记 - jerrylsxu

php基础入门篇学习笔记 - jerrylsxu

WBOY
WBOYOriginal
2016-05-20 13:15:16961browse

本文章详细的介绍了在php学习中的最基础的内容包括了基本数据类型、变量类型、操作符等入门都会要接触到的东西。
-
php支持的基本数据类型:
Integer:整数
Float(Double,双精度值):浮点数,表示所有实数
String:字符串
Boolean:布尔值,true/false
Array:保存具有相同类型的多个数据项
Object:对象,保存类的实例
NULL:没有被赋值、已经被重置或被赋值为特殊值NULL的变量
特定的内置函数(例如数据库函数)将返回resource类型的变量

四种标量类型:

string(字符串) 
integer(整型) 
float(浮点型,也作 double ) 
boolean(布尔型) 
两种复合类型:

array(数组) 
object(对象) 
两种特殊类型:

resource(资源) 
NULL(空) 
查看变量类型
通过 gettype() 函数可以方便的查看某个变量的类型:

 代码如下 复制代码 
$var_bool = TRUE;     // a boolean
$var_str  = "foo";     // a string
$var_int  = 12;      // an integer

echo gettype($var_bool);    // 输出 boolean
echo gettype($var_str);     // 输出 string
echo gettype($var_int);     // 输出 integer
?>
 

提示
由于历史原因,如果是 float 类型数据,gettype() 函数返回的是 double,而不是 float 。 
如果想查看某个表达式的值和类型,请使用用 var_dump() 函数。 
判断变量类型
如果想通过判断变量类型来确定下一步逻辑动作,不要使用 gettype() ,而使用 is_type 系列函数:

 代码如下 复制代码 
$var_int  = 12;

// 如果 $var_int 是 int 类型,这进行加法
if (is_int($var_int)) {
    $var_int = $var_int+4;
}
echo $var_int;  // 输出 16
?>
 


NULL和resource都代表外部资源,例如数据库连接
基本上不能直接操作一个resource变量,但是通常它们都将被函数返回,而且必须作为参数传递给其他函数。

在php中,变量的类型是由赋给变量的值确定的。(动态类型语言)
PHP可以在任何时间根据保存在变量中的值来确定变量的类型,也就是具有在任何时间透明地改变变量类型的功能。 
PHP将“自动地”获得输入的数据类型,一旦从变量中检索变量值,它将返回具有相同数据类型的数据。
养成习惯:常量名称都是由大写字母组成的。这样容易区分变量和常量。
常量和变量之间的一个重要不同点在于引用一个常量的时候,它前面并没有$符号。
常量和变量的另一个差异在于常量只可以保存布尔值、整数、浮点数或字符串数据,这些类型都是标量数据。

变量类型变化(juggling) 
PHP不需要(或者说不支持)在声名变量明确他的变量类型;一个变量的类型是由这个变量被使用的前后关系来决定的,也就是说,如果你给一个变量var赋了 一个字符串的值,var就变成了字符串变量。如果你再将一个整数赋值给var,他又变成了一个整数型变量。 一个PHP自动转化变量类型的例子是加法的操作符’+’。如果任何一个操作数都是双精度数,那么所有的操作数被当作双精度数求值,并且结果也是双精度数。 否则,操作数将被认为是整数,结果也将会是整数。注意这并不影响每个操作数本身的变量类型,唯一的变化就是操作数在计算的过程中被如何处理。 $foo  =  "0";  //  $foo  是一个字符串  ,值是“0”(ASCII  48)

PHP代码

 代码如下 复制代码 
$foo  =  "http://www.hzhuti.com/HTC/G11/";  //  $foo  是一个字符串  ,值是“0”(ASCII  48)      
$foo++;  //  $foo  是一个字符串,值是“1”(ASCII  49)      
$foo  +=  1;  //  $foo  现在是一个整数(2)了      
$foo  =  $foo  +  1.3;  //  $foo  现在是一个双精度数(3.3)了      
$foo  =  5  +  "10  Little  Piggies";  //  $foo  是一个整数  (15)      
$foo  =  5  +  "10  Small  Pigs";  //  $foo  是一个整数  (15)   


如果你觉得上面例子中最后两个表达式看起来有点奇怪的话,请看 “字符串的转化”部分。 如果你希望强制一个变量被当作某种固定的类型来计算,请看 “类型强制(casting)” 一节。如果你希望转变一个变量的类型,请看函数“settype()”的说明。
 确定一个变量的类型
因为PHP自己决定变量的类型并且一般按照需要转化他们,一个特定的变量的类型不是在任何时间都非常明显。PHP包括一些函数可以找出这个变量的类型。这 些函数是gettype(), is_long(), is_double(), is_string(), is_array(), 和 is_object(). 
类型强制(type casting)
在PHP中类型强制同在C语言中大抵相似:将需要的类型的种类写在要强制的变量的前面的圆括号中。
 

PHP代码

 代码如下 复制代码 
$foo  =  10;  //  $foo  是一个整数     
$bar  =  (double)  $foo;  //  $bar  是一个双精度数    


以下的强制方式是允许的: (int), (integer) – 强制成整数 (real), (double), (float) – 强制成双精度数 (string) – 强制成字符串 (array) – 强制成数组 (object) – 强制成对象 注意在圆括号中允许制表符(tabs)和空格(spaces) ,因此下面的语句是等价的: $foo = (int) $bar; $foo = ( int ) $bar; 
字符串转化
当一个字符串被当作数字型的值来计算时,他的结果和类型如下面所述的决定。 如果这个字符串含有字符’.’,’e’,或者’E’,则被当作双精度类型变量来处理,否则当作是整数。 这个字符串的值由词首部分决定。如果这个字符串以任何有效的数字的数据开始,那么这个数字数据就是这个字符串参加运算的值。否则,值为零(zero)。有 效的数字数据是遵循下面的这些标记的,跟随在一个或多个数字后面(可以包含小数点),跟随在一个可选的指数后面。指数是由一个或多个数字跟在’e’或 ’E’后面构成的。
 

PHP代码

 代码如下 复制代码 
$foo  =  1  +  "10.5";  //  $foo  是双精度数  (11.5)      
$foo  =  1  +  "-1.3e3";  //  $foo  是双精度数(-1299)      
$foo  =  1  +  "bob-1.3e3";  //  $foo  是整数  (1)      
$foo  =  1  +  "bob3";  //  $foo  是整数  (1)      
$foo  =  1  +  "10  Small  Pigs";  //  $foo  是整数  (11)    
$foo  =  1  +  "10  Little  Piggies";  //  $foo  是整数  (11);      
//  这个字符串包括字符'e'   


标识符


操作符:
1)赋值操作符:=

2)算术操作符:+,-,*,/,%(取模)

3)连接操作符:. ,无论操作数是什么,都当成String,结果返回String

4)合计赋值操作符(Combined Assignment Operators):+=,*=,/=,-=,%=,.=

5)自动增减操作符(Automatically Incrementing and Decrementing):

(1)$variable+=1 ⇔$variable++;$variable-=1 ⇔$variable-,跟c语言一样,先做其他操作,后++或-

(2)++$variable,-$variable,先++或-,再做其他操作

6)比较操作符:

= =(左边等于右边),!=(左边不等于右边),
= = =(左边等于右边,且数据类型相同),
>=,>,

7)逻辑操作符:|| or,&& and,xor(当左右两边有且只有一个是true,返回true),!

一个参考表

运算符(Arithmetic Operators) Operator
符号 Description
描述 Example
案例 Result
结果 
+ Addition
加号 x=2
x+2 4 
- Subtraction
减号 x=2
5-x 3 
* Multiplication
乘号 x=4
x*5 20 
/ Division
除号 15/5
5/2 3
2.5 
% Modulus (division remainder)
求模(余数) 5%2
10%8
10%2 1
2

++ Increment
自加 x=5
x++ x=6 
-- Decrement
自减 x=5
x-- x=4


Assignment Operators
分配符(Assignment Operators)

Operator
符号 Example
案例 Is The Same As
等同于 
= x=y x=y 
+= x+=y x=x+y 
-= x-=y x=x-y 
*= x*=y x=x*y 
/= x/=y x=x/y 
%= x%=y x=x%y


Comparison Operators
比较符(Comparison Operators)

Operator
符号 Description
具体描述 Example
案例 
== is equal to
等于 5==8 返回 false 
!= is not equal
不等于 5!=8 返回  true 
> is greater than
大于 5>8 返回  false 
小于 5>= is greater than or equal to
大于等于 5>=8 返回  false 
小于等于 5


Logical Operators
逻辑判断符(Logical Operators)

Operator
符号 Description
描述 Example
案例 
&& and
与 x=6
y=3 
(x 1) 返回 true
 
|| or
或 x=6
y=3 
(x==5 || y==5) 返回 false
 
! not
非 x=6
y=3 
!(x==y)返回true
 


其他操作符:

三元操作符、错误抑制操作符、执行操作符、数组操作符、类型操作符

运算符"?"前的表达式

如果一个包含二元运算符的表达式出现在三元运算符" ? : "的"?"之前,那么应该给表达式添上一对圆括号。例如:
(x >= 0) ? x : -x;

下面我们来看一个简单的?号表达式实例

 代码如下 复制代码 

$a='http://www.zhutiai.com/zhuti/c7/';

echo $a?'true':'false';

输出结果为 trur;

再看

if( $a )

{

   echo 'true';

}

else

{

   echo 'false';

}

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn