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 部分语法(一)的更多相关文章

  1. 我的MYSQL学习心得(一) 简单语法

    我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

  2. Swift与C#的基础语法比较

    背景: 这两天不小心看了一下Swift的基础语法,感觉既然看了,还是写一下笔记,留个痕迹~ 总体而言,感觉Swift是一种前后端多种语言混合的产物~~~ 做为一名.NET阵营人士,少少多多总喜欢通过对 ...

  3. 探索C#之6.0语法糖剖析

    阅读目录: 自动属性默认初始化 自动只读属性默认初始化 表达式为主体的函数 表达式为主体的属性(赋值) 静态类导入 Null条件运算符 字符串格式化 索引初始化 异常过滤器when catch和fin ...

  4. [C#] 回眸 C# 的前世今生 - 见证 C# 6.0 的新语法特性

    回眸 C# 的前世今生 - 见证 C# 6.0 的新语法特性 序 目前最新的版本是 C# 7.0,VS 的最新版本为 Visual Studio 2017 RC,两者都尚未进入正式阶段.C# 6.0 ...

  5. Velocity初探小结--velocity使用语法详解

    做java开发的朋友一般对JSP是比较熟悉的,大部分人第一次学习开发View层都是使用JSP来进行页面渲染的,我们都知道JSP是可以嵌入java代码的,在远古时代,java程序员甚至在一个jsp页面上 ...

  6. node.js学习(二)--Node.js控制台(REPL)&&Node.js的基础和语法

    1.1.2 Node.js控制台(REPL) Node.js也有自己的虚拟的运行环境:REPL. 我们可以使用它来执行任何的Node.js或者javascript代码.还可以引入模块和使用文件系统. ...

  7. C#语法糖大汇总

    首先需要声明的是"语法糖"这个词绝非贬义词,它可以给我带来方便,是一种便捷的写法,编译器会帮我们做转换:而且可以提高开发编码的效率,在性能上也不会带来损失.这让java开发人员羡慕 ...

  8. 值得注意的ibatis动态sql语法格式

    一.Ibatis常用动态sql语法,简单粗暴用一例子 <select id="iBatisSelectList" parameterClass="java.util ...

  9. Flex 布局教程:语法篇

    作者: 阮一峰 网页布局(layout)是CSS的一个重点应用. 布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性.它对于那些特殊布局非常不方便 ...

  10. postgresql 基本语法

    postgresql数据库创建/修改/删除等写入类代码语法总结: 1,创建库 2,创建/删除表 2.1 创建表 create table myTableName 2.2 如果表不存在则创建表 crea ...

随机推荐

  1. Python—Celery 框架使用

    一.Celery 核心模块 1. Brokers brokers 中文意思为中间人,在这里就是指任务队列本身,接收生产者发来的消息即Task,将任务存入队列.任务的消费者是Worker,Brokers ...

  2. Scrapy框架(一)

    Scrapy框架(一) 国内镜像源: 阿里云 http://mirrors.aliyun.com/pypi/simple/ 中国科技大学 https://pypi.mirrors.ustc.edu.c ...

  3. laravel身份验证-Auth的使用

    laravel自带了auth类和User模型来帮助我们很方便的实现用户登陆.判断.首先,先配置一下相关参数 app/config/auth.php: model 指定模型table 指定用户表这里我只 ...

  4. 用Python写算法题--洛谷P1149 火柴棒等式

    题目 题目来源 P1149 火柴棒等式,https://www.luogu.org/problem/P1149 题目描述 给你n根火柴棍,你可以拼出多少个形如"A+B=C"的等式? ...

  5. 在iframe 中视频可以正常播放,但是就是不能全屏。解决方法

    iframe标签加上webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen="& ...

  6. C#本地文件下载以及FTP文件服务下载(以Pdf文件为例)

    一.C#实现本地文件下载 1.文件下载的路径  文件名称 以及文件下载之后要放的位置  这三个变量是必须要的 2.定义以下四个对象: FileWebRequest ftpWebRequest = nu ...

  7. Dynamics 365 Customer Engagement V9.X新引入的自动编号属性介绍

    我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...

  8. MySQL 社区版 安装小记

    根据刘铁猛老师的教程,自己折腾一下 1. 安装包准备 在Windows10 64bit上安装,故需要准备vc++ 2013和2015的Redistributable的包,搜索即有,无需细说. 示例数据 ...

  9. arcgis api 4.x for js 结合 Echarts4 实现散点图效果(附源码下载)

    前言 关于本篇功能实现用到的 api 涉及类看不懂的,请参照 esri 官网的 arcgis api 4.x for js:esri 官网 api,里面详细的介绍 arcgis api 4.x 各个类 ...

  10. SQL Server解惑——为什么你的查询结果超出了查询时间范围

    废话少说,直接上SQL代码(有兴趣的测试验证一下),下面这个查询语句为什么将2008-11-27的记录查询出来了呢?这个是同事遇到的一个问题,个人设计了一个例子. USE AdventureWorks ...