php基础笔记,php基础入门篇学习笔记

php支持的基本数据类型:

Integer:整数

Float(Double,双精度值):浮点数,表示所有实数

String:字符串

Boolean:布尔值,true/false

Array:保存具有相同类型的多个数据项

Object:对象,保存类的实例

NULL:没有被赋值、已经被重置或被赋值为特殊值NULL的变量

特定的内置函数(例如数据库函数)将返回resource类型的变量

四种标量类型:

string(字符串)

integer(整型)

float(浮点型,也作 double )

boolean(布尔型)

两种复合类型:

array(数组)

object(对象)

两种特殊类型:

resource(资源)

NULL(空)

查看变量类型

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

代码如下

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 是 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  =  "0";  //  $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

0

++

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

<

is less than

小于

5<8 返回  true

>=

is greater than or equal to

大于等于

5>=8 返回  false

<=

is less than or equal to

小于等于

5<=8 返回  true

Logical Operators

逻辑判断符(Logical Operators)

Operator

符号

Description

描述

Example

案例

&&

and

x=6

y=3

(x < 10 && y > 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=1;

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

输出结果为 trur;

再看

if( $a )

{

echo 'true';

}

else

{

echo 'false';

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值