PHP的基本语法
PHP的基本语法和c#的基本语法是差不多的,在这里只和大家聊一下PHP和C#语法不同的地方。
首先
PHP和c#的标记方式不一样,PHP他是一门脚本语言,JS也是脚本语言,只不过JS是运行在客户端的,而PHP是运行在服务端的。两种不同的地方运行,客户端的脚本语言只能处理我们当前页面上的这些内容,但是服务器端的可以去操作数据库。既然都是脚本语言,那么JS可以嵌入到页面里面的任何地方PHP也是可以的。
JS嵌入的时候 标记是<script type="text/javascript"></script>是以script为开头的以/script为结尾的。
PHP嵌入时的标记是<?php ?>以?php为开头以?为结尾的。还有一种短标记是<? ?>以?为开头以?为结尾,如果要用短标记,那么在PHP配置文件中必须开启短标记才可以使用。一般推荐使用<?php ?>这一种,因为我们正常使用的就是这种方式,当然还有其他的一些插入的方式,我们就不细细说了。
注释语法和其他的注释语法是一样的://——行注释 /* */ ——多行注释
输出语句:
输出方式是: echo "xxx";——意思是输出显示xxx
print "xxx";——也是输出的意思
print_r();——专门用来输出数组的
var_dump()——用来输出变量、数据类型和字符长度的
print_r();和var_dump()一般不当做正常的输出来使用,主要是用来测试的。
echo和print两者有什么区别呢,区别在于echo可以输出多个字符串但是print只能输出单字符串。
变量定义:在其他语言里面比如说C#里面我们需要定义一个变量,首先要知道变量的可用类型
类型包括:int float double bool char string datetime这几类
附:PHP语言是一门弱类型语言,所以在定义变量的时候我们不需要加数据类型,直接可以拿过来使用,但是强类型语言就不可以,强类型语言必须明确定义变量的数据类型。
这里插入一个小话题,有人说弱类型语言里面是没有类型的,这个说法是错误的!实际上弱类型语言他也包含了这么多的数据类型,只是没有表现出来而已并不是说没有数据类型。只不过在定义变量的时候,他会根据等号右边的值自动进行定义,去确定这个值得数据类型。
PHP所有的变量都是以 $ 来开头的
如:变量a=$a;变量b=$b;
在PHP里面 变量可以存放任何数据类型的数值,可以是整型,小数类型,布尔型等·····
$a="10";
$b='hello';
这里有个区别,单引号和双引号的区别,
双引号可以识别转义字符和变量而单引号就不能识别转义字符和变量。
如果在双引号内还需要加入变量或者字符串,需要使用转义字符来进行插入或者在等号的右边加上三个尖括号 尖括号后面跟定义的名称或者说是三个尖括号的标示,标示可以随便定义建议用全部大写的英文字字母
$a = <<<AA
AA;
结束语的AA;前不要加任何东西 如:空格 回车什么的
需要显示的字符串写在<<<AA和AA;中间
如:
$a = <<<AA
"aaaaa"cccc"bbbbb"cccc"aaaaa"
AA;
在字符串a里面插入字符串b,在b字符串里面插入字符串c
变量的拼接
在PHP里面 拼接的符号不是+(加好)而是.(点),加号在PHP里面只有运算的作用没有连接、拼接的作用,要拼接变量就是$a.$b;只有这样才能进行变量的拼接。
经过广大程序员使用中的观察,PHP的变量里使用的最多几个数据类型是:int float bool string
注***在PHP里面没有日期时间的类型。
强制转换——因为PHP是弱类型语言所有的变量都是在后台自动进行转换的所以一般不用,如果需要强制转换,那么强制转换的书写格式是:
$a = 10;
$a = (string)$a;
这样就把int类的变量a转变成了字符串类型。
可变变量:
$aa = "cc";
$cc = "dd";
echo $$aa;
可变变量只在PHP里面有效,$$aa得出来的结果是dd,
$dd = &$aa;
&符号的意思就是把aa所在的地址交给dd,使dd和aa使用同一个地址,也就是说dd和aa的显示值都是cc
如果关联上了地址,那么不管是在变量dd处还是在变量aa处更改值得内容,另一个都会跟随一起更改。
运算符表达式:
和c#里面的运算符表达式的应用是一样的,在这里着重说明一下除号的应用和区别。
在c#里面 除号前后都是整型的时候 的出来的只会是整型 不管它是不是被整除,但是在PHP里面,他会自动把结果转变为相对应的数据类型,如果整除结果就是整型,如果非整除那么结果就是小数类型。
注***如果出现无限小数列,那么系统最多显示到小数点后第16位。
错误抑制符——当不影响系统的正常运行并只弹出警告对话框的时候,我们需要让他不弹出警告对话框,只需要在变量前加个 @ 符号就可以抑制警告对话框的弹出,当然 抑制也是有范围的,就和警报等译一样,三级警报 notice 二级警报 warning 一级警报 error 三级最轻松依次逐渐严重,也就是说越往后@的抑制力越薄弱,甚至无效。
语句
分支语句
1.if....else....
2.if....else if....
3.if嵌套
循环语句
1.for循环
2.while
3.do...while
2016.5.30 孤独夜莺
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 ...
随机推荐
- Andrew Ng机器学习公开课笔记 – Factor Analysis
网易公开课,第13,14课 notes,9 本质上因子分析是一种降维算法 参考,http://www.douban.com/note/225942377/,浅谈主成分分析和因子分析 把大量的原始变量, ...
- html轮播效果的实现
要实现如下图的效果 点击可以选择图片:不点击的时候自动轮播:并且点击完后再次自动轮播. 思路:如同在房子里透过窗子看路过的火车一样,窗子是不动的,但火车是陆续经过窗子的,所以透过窗子可以看到依次看完所 ...
- setattribute兼容
var spanElement = document.getElementById("mySpan"); spanElement.style.cssText = "fon ...
- 蓝牙BLE MTU规则与约定
1. 问题引言: 想在gatt client上(一般是手机上)传输长一点的数据给gatt server(一般是一个Bluetooth smart设备,即只有BLE功能的设备),但通过 writeCha ...
- Naming Service 与 Zookeeper
命名服务是指通过指定的名字来获取资源或者服务的地址,提供者的信息.利用Zookeeper很容易创建一个全局的路径,而这个路径就可以作为 一个名字,它可以指向集群中的集群,提供的服务的地址,远程对象 ...
- 【Android开发学习笔记】【第二课】Activity学习
什么是Activity,就是我们所看到的 需要理解以下四句话: 1.一个Activity就是一个类,并且这个类需要集成Activity: 2.需要重写OnCreat方法 3.每个Activity都需要 ...
- 非Controller类无法使用Service bean解决方案
尝试方案: 1 在Spring的配置文件springmvc.xml中,增加扫描项base-package="zxs.ssm.util",增加你需要使用service的类所在的包 ...
- JavaScript正则表达式(二)
定义 JavaScript种正则表达式有两种定义方式,定义一个匹配类似 <%XXX%> 的字符串 1. 构造函数 var reg=new RegExp('<%[^%>]+%&g ...
- POI对Excel
完美兼容excel2003 和excel2007的读取,处理了所有excel所有的类型,依赖包如下: poi-3.10-FNAL.jar poi-ooxml-3.10-FNAL.jar poi-oox ...
- Python处理时间 time && datetime 模块
Python处理时间 time && datetime 模块 个人整理,获取时间方式: import datetime import time #获取当前时间:Thu Nov 03 ...