php基础入门篇学习笔记
3998 点击·0 回帖
![]() | ![]() | |
![]() | 本文章详细的介绍了在php学习中的最基础的内容包括了基本数据类型、变量类型、操作符等入门都会要接触到的东西。 - php支持的基本数据类型: Integer:整数 Float(Double,双精度值):浮点数,表示所有实数 String:字符串 Boolean:布尔值,true/false Array:保存具有相同类型的多个数据项 Object:对象,保存类的实例 NULL:没有被赋值、已经被重置或被赋值为特殊值NULL的变量 特定的内置函数(例如数据库函数)将返回resource类型的变量 四种标量类型: string(字符串) integer(整型) float(浮点型,也作 double ) boolean(布尔型) 两种复合类型: array(数组) object(对象) 两种特殊类型: resource(资源) NULL(空) 查看变量类型 通过 gettype() 函数可以方便的查看某个变量的类型: 代码如下 <?php $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 系列函数: 代码如下 <?php $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 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='www.atcpu.com'; echo $a?'true':'false'; 输出结果为 trur; 再看 if( $a ) { echo 'true'; } else { echo 'false'; } | |
![]() | ![]() |