php 基础系列之 php快速入门
·插补操作 将简单变量写入一个由双引号引用的字符串中,就叫插补操作。例如: $test = 'xx'; echo "你好:$test"; 注意:插补操作只是双引号引用字符串的特性。·变量和字面量 参照上面的例子。'xx'是字面量,而 $test是变量。·数据类型 ·Integer(整数):用来表示整数 ·Float(浮点数,也叫Double,双精度):用来表示所有的实数 ·String(字符串):用来表示字符串 ·Boolean(布尔值):用来表示true或者false ·Array(数组):用来保存具有相同类型的多个数据项 ·Obejct(对象):用来保存类的实例 特殊类型 ·NULL(空):没有被赋值、已经被重置或者被赋值被特殊值NULL的变量就是NULL类型变量。 ·resource(资源):特定的内置函数(例如数据库函数)将返回resource类型的变量。它们代表外部资源(例如数据库连接)。 基本上不能直接操作一个resource变量,但是通常它们都将被函返回,而且必须作为参数传递给其他函数。 ·Callable :通常都是可以传递给其他函数的函数。·类型强度 PHP是一种弱类型语言,或者动态类型语言,变量的类型是由赋给变量的值确定的。·类型转换 使用类型转换,可以将一个变量或值转换成另一种类型。只需在希望进行类型转换的变量之前的圆括号中插入需要转换的临时数据类型即可。 $num = 0; $theNum = (float)$num; 第二行代码的意思是:取出保存在$num的值,将其解释成一个浮点型,并将其保存在$theNum中。$theNum变量将变成浮点类型。·可变变量 PHP提供了一种其他类型的变量:可变变量。可变变量允许我们动态地改变一个变量的名称。 这个特性的工作原理是用一个变量的值作为另一个变量的名称。例如: $varname = 'tireqty'; //于是可以用 $$varname 取代 $tireqty。 $$varname = 5; // 这段代码等价于:$tireqty = 5;·声明变量和使用常量 定义方式: define('NAME','程琳'); echo NAME; 通常常量名称都是由大写字母组成的,这是借鉴了C语言的惯例,这样就很容易区分变量和常量。 注意:常量只可保存布尔值、整数、浮点数或者字符串数据,这些类型都是标量数据。·变量作用域 ·内置超全局变量可以在脚本的任何地方使用和可见。 ·常量,一旦被声明,将在全局可见;也就是说,它们可以在函数内外使用。 ·在一个脚本中声明的全局变量在整个脚本中是可见的,但不是在函数内部。 ·函数内部使用的变量声明为全局变量时,其名称要与全局变量名称一致。 ·在函数内部创建并被声明为静态的变量无法在函数外部可见,但是可以在函数的多次执行调用过程中保持该值。 ·在函数内部创建的变量对函数来说时本地的,而当函数终止时,该变量也就不存在了。·超全局变量 即在全部作用域中始终可用的内置变量 ·$GOLBALS :所有全局变量数组 ($GLOBALS['_SERVER'] ·$_SERVER : 服务器环境变量数组 ·$_GET : 通过GET方法传递给该脚本的变量数组 ·$_POST : 通过POST方法传递给该脚本的变量数组 ·$_COOKIE : cookie变量数组 ·$_FILES : 与文件上载相关的变量数组 ·$_ENV : 环境变量数组 ·$_REQUEST : 所有用户输入的变量数组,包括_GET、$_POST和$_COOKIE所包含的输入内容(但是,不包括$_FILES ·$_SESSION : 会话变量数组·操作符 ·算术操作符 + - * / % 你应该注意到,算数操作符通常用于整型或双精度类型的数据。如果将它们应用到字符串,PHP会试图将这些字符串转换成一个数字。 如果其中包含'e' 或 "E" 字符,它会被当做科学表示法并被转换成浮点数,否则将被转换成整数。PHP会在字符串开始处寻找数字 ,并使用这些数字作为该字符串的值,如果没有在开始处找到数字,该字符串的值为0 ·字符串操作符 . ·赋值操作符 = ·赋值运算返回值 与其他操作符一样,使用赋值操作符也会返回一个值: echo 1 + ($a = 2); // 3 ·复合赋值操作符 += -= *= /= %= .= ·前置递增递减和后置递增递减操作符 省略... ·引用操作符 ·通常,在将一个变量的值赋给另一个变量的时候,先产生原变量的一个副本,然后再将它保存在内存的其它地方。 $a = 5; $b = $a; 这两行代码首先产生$a 的一个副本,然后再将它保存到$b中。如果随后改变$a的值,$b的值不会被改变。 ·要避免产生副本,可以使用引用操作符: $a = 5; $b = &$a; 引用操作符非常有趣,请记住,引用就像一个别名,而不是一个指针。$a和$b都指向了内存的相同地址。你可以通过重置使 变量不指向原来的内存地址: unset($a); 重置变量并不会改变$b(7)的值,但是可以破坏$a和值7在内存中地址的链接。 ·比较操作符 比较操作符用来比较两个值。比较操作符表达式根据比较结果返回逻辑值:true 或 false; ·等于操作符 等于操作符==(两个等号)允许测试两个值是否相等 ·其它比较操作符 === : 恒等,只有两边的操作数相等并且具有相同的数据类型时,才返回true <> : 不等,作用相当于 != ·逻辑操作符 ! , && , || ·位操作符 不常用,省略 ·其它操作符 ·三元操作符 condition ? value if true : value if false; ·错误抑制操作符 错误抑制操作符@可以在任何表达式之前使用,即任何有值的或者可以计算出值的表达式之前。 $a = @(1/0); var_dump($a); //false 如果没有@操作符,这一行代码将产生一个除0警告,使用这个操作符后,这个警告就会被抑制住。 ·数组操作符 PHP提供了一些数组操作符,数组操作符([])支持访问数组元素。在某些数组上下文中,也可以使用=>操作符 其他数组操作符 操作符 名称 使用方法 结果 + 联合 $a+$b 返回一个包含了$a和$b中所有元素的数组 == 等价 $a== $b 如果 $a,$b有相同的键值对,返回true === 恒等 $a=== $b 如果$a,$b有相同的键值对以及相同的顺序,返回true != 非等价 <> 非等价 !== 非恒等 注意:不能将标量类型与数组进行比较。 ·类型操作符 只有一个类型操作符:instanceof 。这个对象在面对对象编程中使用。 instanceof操作符允许检查一个对象是否为特定类的实例。 class sampClass{}; $myObject = new sampClass(); var_dump($myObject instanceof sampClass); //true·使用变量处理函数 ·大部分变量函数都测试一个函数的类型相关。PHP有两个最常见的变量函数,分别是gettype()和settype() string gettype(mixed var); bool settype(mixed var , string type); ·要使用gettype()函数,必须先给它传递一个变量。它将确定变量的类型并返回一个包含类型名称的字符串:boolean、integer、 double(用于浮点型,因历史原因易混淆)、string、array、object、resource或NULL。如果变量类型不是标准类型之一, 该函数就会返回"unknown type"; ·要使用settype()函数,必须先给它传递一个要改变类型的变量,以及包含了上述类型列表中某个类型的字符串。 $test = 1; var_dump(gettype($test)); //integer var_dump(settype($test,'double')); //true var_dump(gettype($test)); //double ·PHP还提供了一些特定的类型测试函数。每一个函数都使用一个变量作为其参数,并返回true或者false: is_array() is_double(),is_float(),is_real()(所有都时相同的函数) is_long(),is_int(),is_integer()(所有都时相同的函数) is_string() is_bool() is_object() is_resource() :检测变量是否是一个资源 is_null() is_scalar() :检测变量是否是标量,也就是,是否为整数、布尔值、字符串或浮点数 is_numeric() :检测变量是否是任何类型的数字或数字字符串 is_callable() :检测变量是否是有效的函数名称 ·检测变量状态函数: ·isset() bool isset(mixed var[, mixed var[,...]]) 这个函数需要一个变量名做参数。也可以传递一个由逗号间隔的变量列表 ·unset() void unset(mixed var[, mixed var[,...]]) 你也可以使用与isset()函数相对应的unset()函数对应的unset()函数来销毁一个变量 ·empty() bool empty(mixed var) ·变量的重解释 你可以通过调用一个函数来实现转换变量数据类型的目的。如下3个函数可以用来实现这个功能 int intval(mixed var[,int base=10]) :允许在要转换的变量为字符串时,指定转换的进制基数(这样,可以将16进制的字符串转换为整数) float floatval(mixed var) string strval(mixed var) ·混合数据类型 本书和php.net文档都提到了'混合'数据类型,事实上PHP并没有这个类型。但PHP在类型处理方面非常灵活,因此很多函数可以多种(或者任意) 数据类型作为参数。这些类型所允许的参数通常都是伪"混合"类型。·根据条件进行决策 控制结构是程序语言中用来控制程序或脚本执行流程的结构。我们可以把它们分类为条件(或者分支)结构和重复结构(或循环结构) ·switch : switch语句与js的switch语句类似,区别在于php的switch语句switch在比较值使用的是相等操作符,因此会发生类型转换。 ·break 和 continue :和js类似
转载于:https://www.cnblogs.com/cl94/p/11261784.html
php 基础系列之 php快速入门相关推荐
- Java基础-SSM之mybatis快速入门篇
Java基础-SSM之mybatis快速入门篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 其实你可能会问什么是SSM,简单的说就是spring mvc + Spring + m ...
- 算法基础、算法比赛快速入门(java)
想用Java快速入门算法?这篇文章你得看! 提示:本文章适合想要入门算法,并且想 "快速" 达到一定成果的同学们阅读~ 文章非常非常非常长(可能是你见过最长的算法基础篇章)!!! ...
- 涂鸦蓝牙SDK开发系列教程——1.快速入门
本系列课程将介绍如何使用 涂鸦蓝牙模组及其 SDK 进行产品开发,帮助开发者更快掌握 涂鸦蓝牙模组.涂鸦蓝牙 SDK.涂鸦 IoT 平台.涂鸦三明治开发套件.涂鸦云模组烧录授权平台 等开发工具的使用方 ...
- java与jquery的选择器区别_java day44【JQuery 基础:概念,快速入门,JQuery对象和JS对象区别与转换,选择器,DOM操作,案例】...
第一章JQuery 基础 1. 概念: 一个JavaScript框架.简化JS开发 * jQuery是一个快速.简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScrip ...
- Linux内核品读 /基础组件/ 模块机制快速入门
哈喽,我是杰克吴,继续记录我的学习心得. 一.关于兴趣的几点思考 1. 享受不是兴趣,愿意付出才是: 兴趣很容易跟享受混淆.享受是被动的,无需付出:而兴趣则要求你甘愿为了这件事情付出努力. 2.任何事 ...
- java day44【JQuery 基础:概念,快速入门,JQuery对象和JS对象区别与转换,选择器,DOM操作,案例】...
第一章 JQuery 基础 1. 概念: 一个JavaScript框架.简化JS开发 * jQuery是一个快速.简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScr ...
- (Java每日一谈:第四日——幸福的四象限)主流框架:Dubbo基础实战篇--Dubbo快速入门
在昨天的Dubbo基础篇中,小编对Dubbo的相关基础理论知识进行了一个详细的解释,如果大家对这一块的知识感到好奇,推荐大家可以去阅读一下小编昨天写的Dubbo相关知识点,今天小编会进行Dubbo实用 ...
- 零基础小白应该如何快速入门软件测试
零基础小白快速入门软件测试,需要你具备以下几点: 1.软件测试的学习路线 2.超强的自制力 3.不错的学习能力 4.合理安排的学习时间 有了以上4个条件,你就可以开始你的自学之路了,下面可以给你提供一 ...
- VIVE开发基础(A、快速入门篇)(Yanlz+HTC+VIVE+VR+AR+MR+XR+SteamVR+CameraRig+LightHouse+HeadSet+Teleport+立钻哥哥+)
<HTC_VIVE开发基础> 版本 作者 参与者 完成日期 备注 HTC_VIVE_V01_1.0 严立钻 2018.08.23 <HTC_VIVE开发基础>发布说明: +++ ...
最新文章
- Survey | 生物医学文本挖掘最新进展
- UNIX中的Poll函数
- delphi char与string比较
- 响应式编程知多少 | Rx.NET 了解下
- 我之所以抛弃Java而选择Kotlin的10个理由
- 阿里披露 AI 完整布局,飞天 AI 平台首次亮相!
- python的http请求和应答_python通过get,post方式发送http请求和接收http响应的方法,pythonget...
- python 身份证验证系统_用Python写一个身份证号码校验系统
- 中国姓氏大全(常见508个,罕见740个)
- 前端实现html转pdf方法总结
- 不容错过的Multisim14.0语言设置!!
- edem颗粒替换_EDEM快速填充颗粒的方法
- RuntimeError: cuda runtime error (100) : no CUDA-capable device is detected at /opt/conda/conda-bld/
- 【网络安全】威胁情报信息
- 一款Excel导入导出解决方案组成的轻量级开源组件
- java 求最大公因数_三种算法求最大公约数——Java实现 | 学步园
- 2015年最新苹果开发者账号注册流程详解
- MER:1.8万字带你系统了解宏组学实验与分析(高通量测序应用于病原体和害虫诊断——综述与实用性建议)...
- 斗破苍穹模拟器显示服务器人满,斗破苍穹手游服务器达到上限不能创建角色原因及解决方法...
- [真诚的思考](http://simplemind.info/blog/?p=423)
热门文章
- python io密集 多线程_python多进程和多线程究竟谁更快(详解)
- pytorch学习率衰减
- 【java】编写一个圆柱体类Cylinder,它继承于Circle类
- 基于依存句法规则的篇章级情感分析demo
- 李沐大神开源《动手学深度学习》,加州伯克利深度学习(2019春)教材
- BCELoss忽视某个类别
- 加密软件漏洞评测系统_【E周道】Elasticsearch泄露12亿用户数据 开源VNC存在37个漏洞...
- qtcreator下拉列表怎么制作_如何用WPS制作月度记账表
- ps cs6 磨皮插件_DR5插件加强版 for Mac(ps磨皮滤镜)
- WIZnet开源平台ioPlatform所趋,全硬件TCP/IP尽显内芯智慧!