PHP 部分语法(一)
PHP:
PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言,它以 <?php 开始,并以 ?> 结束;
它还是一门弱类型语言,类型不需显式声明
变量:
PHP 没有声明变量的命令,在第一次赋值给它的时候创建
变量规则:
1、以 $ 开始,后面跟着变量的名称
2、只能包含数字、字母和下划线,且必须以字母或下划线开始
3、区分大小写
变量作用域:local、global、static 和 parameter
所有函数外定义的变量拥有全局作用域,除函数外,全局变量可被脚本中的任一部分访问,函数应通过 global 来访问全局变量
$x = 1;
function test_one() {
// 由于函数无法直接访问全局变量,所以输出为空
echo "<p>变量 x 的值为:$x</p>";
} function test_two() {
global $x;
// 输出为 1
echo "<p>变量 x 的值为:$x</p>";
}
注:PHP 将所有全局变量储存在 $GLOBALS[index] 数组中,index 为变量名,可通过该数组访问或修改全局变量
可通过 static 声明一个局部变量,使其在函数调用结束后不被删除,每次调用函数,static 变量都保存了上一次的值
echo 和 print 的区别:
echo:可输出一个或多个字符串,且没有返回值
print:只允许输出一个字符串,且返回值总是 1
类型:
String(字符串)、Integer(整数)、Float(浮点数)、Boolean(布尔型)、
Array(数组)、Object(对象)、NULL(空值)
var_dump() 返回变量的类型和值
== 只比较值,不比较类型;=== 值和类型都比较
<> 表示不等于,等价于 !=
1 == "1"; // 返回 true
1 === "1"; // 返回 false
bool define(string $name, mixed $value[, bool $case_insensitive = false]) 定义常量;name 为常量名字,value 为值,
case_insensitive 默认大小写敏感;默认为全局,可在运行脚本的任一位置使用,包括函数
PHP 只有一个字符串运算符,即并置运算符 "." 连接字符串
字符串方法:
1、strlen():获取字符串长度
2、strpos():查找一个字符或指定文本,再返回其位置下标或 False
strlen("中文字符"); // 返回 12,因为一个中文占 3 个字符数
strpos("Hello World", "World"); // 返回 6
3、mb_strlen() 和 mb_strpos():可指定编码格式,从而解决类似上面中文输出出错问题
mb_strlen("中文字符", "UTF-8"); //
逻辑运算:
1、and、&&、or、||、xor、!
$a = 2;
$b = 3;
// 以下均输出为真,xor 为异或
echo $a and $b, $a && $b, $a or $b;
echo $a || $b, $a xor !$b, $a || !$b;
2、(expr1) ? (expr2) : (expr3)
$a = 2;
$b = 3;
$a > $b ? $str = "$a > $b" : $str = "$a <= $b";
echo $str; // 输出 2 <= 3
// 输出 2 < 3
if ($a > $b)
echo "$a > $b";
elseif ($a === $b)
echo "$a === $b";
else
echo "$a < $b";
注:PHP 7+ 支持 $a <=> $b,当 $a > $b 时返回 1,$a = $b 时返回 0,$a < $b 时返回 -1
PHP 的分支结构为 if...elseif...else
PHP 部分语法(一)的更多相关文章
- 我的MYSQL学习心得(一) 简单语法
我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...
- Swift与C#的基础语法比较
背景: 这两天不小心看了一下Swift的基础语法,感觉既然看了,还是写一下笔记,留个痕迹~ 总体而言,感觉Swift是一种前后端多种语言混合的产物~~~ 做为一名.NET阵营人士,少少多多总喜欢通过对 ...
- 探索C#之6.0语法糖剖析
阅读目录: 自动属性默认初始化 自动只读属性默认初始化 表达式为主体的函数 表达式为主体的属性(赋值) 静态类导入 Null条件运算符 字符串格式化 索引初始化 异常过滤器when catch和fin ...
- [C#] 回眸 C# 的前世今生 - 见证 C# 6.0 的新语法特性
回眸 C# 的前世今生 - 见证 C# 6.0 的新语法特性 序 目前最新的版本是 C# 7.0,VS 的最新版本为 Visual Studio 2017 RC,两者都尚未进入正式阶段.C# 6.0 ...
- Velocity初探小结--velocity使用语法详解
做java开发的朋友一般对JSP是比较熟悉的,大部分人第一次学习开发View层都是使用JSP来进行页面渲染的,我们都知道JSP是可以嵌入java代码的,在远古时代,java程序员甚至在一个jsp页面上 ...
- node.js学习(二)--Node.js控制台(REPL)&&Node.js的基础和语法
1.1.2 Node.js控制台(REPL) Node.js也有自己的虚拟的运行环境:REPL. 我们可以使用它来执行任何的Node.js或者javascript代码.还可以引入模块和使用文件系统. ...
- C#语法糖大汇总
首先需要声明的是"语法糖"这个词绝非贬义词,它可以给我带来方便,是一种便捷的写法,编译器会帮我们做转换:而且可以提高开发编码的效率,在性能上也不会带来损失.这让java开发人员羡慕 ...
- 值得注意的ibatis动态sql语法格式
一.Ibatis常用动态sql语法,简单粗暴用一例子 <select id="iBatisSelectList" parameterClass="java.util ...
- Flex 布局教程:语法篇
作者: 阮一峰 网页布局(layout)是CSS的一个重点应用. 布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性.它对于那些特殊布局非常不方便 ...
- postgresql 基本语法
postgresql数据库创建/修改/删除等写入类代码语法总结: 1,创建库 2,创建/删除表 2.1 创建表 create table myTableName 2.2 如果表不存在则创建表 crea ...
随机推荐
- Python—Celery 框架使用
一.Celery 核心模块 1. Brokers brokers 中文意思为中间人,在这里就是指任务队列本身,接收生产者发来的消息即Task,将任务存入队列.任务的消费者是Worker,Brokers ...
- Scrapy框架(一)
Scrapy框架(一) 国内镜像源: 阿里云 http://mirrors.aliyun.com/pypi/simple/ 中国科技大学 https://pypi.mirrors.ustc.edu.c ...
- laravel身份验证-Auth的使用
laravel自带了auth类和User模型来帮助我们很方便的实现用户登陆.判断.首先,先配置一下相关参数 app/config/auth.php: model 指定模型table 指定用户表这里我只 ...
- 用Python写算法题--洛谷P1149 火柴棒等式
题目 题目来源 P1149 火柴棒等式,https://www.luogu.org/problem/P1149 题目描述 给你n根火柴棍,你可以拼出多少个形如"A+B=C"的等式? ...
- 在iframe 中视频可以正常播放,但是就是不能全屏。解决方法
iframe标签加上webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen="& ...
- C#本地文件下载以及FTP文件服务下载(以Pdf文件为例)
一.C#实现本地文件下载 1.文件下载的路径 文件名称 以及文件下载之后要放的位置 这三个变量是必须要的 2.定义以下四个对象: FileWebRequest ftpWebRequest = nu ...
- Dynamics 365 Customer Engagement V9.X新引入的自动编号属性介绍
我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...
- MySQL 社区版 安装小记
根据刘铁猛老师的教程,自己折腾一下 1. 安装包准备 在Windows10 64bit上安装,故需要准备vc++ 2013和2015的Redistributable的包,搜索即有,无需细说. 示例数据 ...
- arcgis api 4.x for js 结合 Echarts4 实现散点图效果(附源码下载)
前言 关于本篇功能实现用到的 api 涉及类看不懂的,请参照 esri 官网的 arcgis api 4.x for js:esri 官网 api,里面详细的介绍 arcgis api 4.x 各个类 ...
- SQL Server解惑——为什么你的查询结果超出了查询时间范围
废话少说,直接上SQL代码(有兴趣的测试验证一下),下面这个查询语句为什么将2008-11-27的记录查询出来了呢?这个是同事遇到的一个问题,个人设计了一个例子. USE AdventureWorks ...