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. delete误删数据使用SCN恢复

    参考51CTO博客 问题描述:使用scn号恢复误删数据 1.查询系统闪回的scn值以及当前日志的scn值,因为我这个是测试,创建的表是在在后边,所以scn值要大于下边这两个scn值,所以对我恢复数据没 ...

  2. linux(center OS7)安装JDK、tomcat、mysql 搭建java web项目运行环境

    一.安装JDK 1.卸载旧版本或者系统自带的JDK (1)列出所有已安装的JDK rpm -qa | grep jdk (2)卸载不需要的JDK yum -y remove 安装包名称 2.下载并解压 ...

  3. GCC编译警告选项总结

    一 前言 GCC有很多的编译选项,警告选项:指定头文件.库路径:优化选项.本文针整理一下GCC的警告选项,主要依据http://gcc.gnu.org/onlinedocs/gcc/Warning-O ...

  4. IT兄弟连 HTML5教程 CSS3属性特效 transition过渡

    CSS3的transition允许css的属性值在一定的时间区间内平滑地过渡.这种效果可以在鼠标单击.获得焦点.被点击或对元素任何改变中触发,并圆滑地以动画效果改变CSS的属性值. transitio ...

  5. RocketMq在SparkStreaming中的应用总结

    其实Rocketmq的给第三方的插件已经全了,如果大家有兴趣的话请移步https://github.com/apache/rocketmq-externals.本文主要是结合笔者已有的rmq在spar ...

  6. gradle环境搭建

    最近我在尝试了解跨平台技术的发展,首先则是想到了cordova.环境配置过程中有依赖gradle,下面简单记录了在windos10系统下搭建gradle环境的过程. 什么是gradle Gradle是 ...

  7. ubuntu 安装在硬盘与配置

    安装 下载Ubuntu ISO文件,使用rufus制作启动U盘,重启选择这个U盘启动. 用rufus做启动盘时,提示缺少文件,点下载,找到log,进入找到下载地址,手动下载,并放到软件所在路径下的文件 ...

  8. STM32-24位AD7799驱动之手册代码详解,支持模拟SPI和硬件SPI

    1.AD7799介绍 AD7799结构图如下所示: 其中REFIN参考电压建议为2.5V, REFIN电压低于0.1V时,则差分输入ad值就无法检测了,如下图所示: 注意: 如果REG_CONFIG的 ...

  9. 设置tabBar的图片/高度/title颜色

    实现了一下内容: 1.设置tabBarItem选中及非选中时的图片,图片充满item; 2.调整了 tabBar 高度; 3.改变了title颜色及位置. ------------代码如下: ---T ...

  10. C++中的try throw catch 异常处理

    今天在开发过程中调用一个库函数结果库函数有throw操作,当前代码没有对throw进行捕获操作,导致进程在main 函数中捕获到异常导致进程crash.所以借此记录下c++关于try,throw,ca ...