设为首页 收藏本站
查看: 536|回复: 0

[经验分享] php基础入门篇学习笔记

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-8-27 09:57:24 | 显示全部楼层 |阅读模式
  本文章详细的介绍了在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 &hArr;$variable++;$variable-=1 &hArr;$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='http://www.zhutiai.com/zhuti/c7/';
  echo $a?'true':'false';
  输出结果为 trur;
  再看
  if( $a )
  {
  echo 'true';
  }
  else
  {
  echo 'false';
  }

  更多详细内容请查看:http://www.111cn.net/phper/php/42195.htm

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-104882-1-1.html 上篇帖子: phper必须了解的php常识 下篇帖子: PHP生成静态页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表