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的基本语法的更多相关文章

  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. android 设计工具栏

    设计工具栏Action Bar(订制工具栏类型) 工具栏给用户提供了一种熟悉和可预测的方式来执行某种动作和操纵应用程序,但是这并不意味着它就需要和其他的应用程序看起来一样的.如果想设计工具栏以使得它能 ...

  2. 纯css下拉菜单的制作

    通过观察下拉菜单的过程,发现有两种状态,一种是鼠标没有hover时,一种是鼠标hover时. 主菜单hover时,显示子菜单:主菜单没有hover时,不显示子菜单 <!DOCTYPE html& ...

  3. 【转】HideInInspector 与SerializeField

    http://blog.csdn.net/luyuncsd123/article/details/21563697 [HideInInspector]表示将原本显示在面板上的序列化值隐藏起来. [Se ...

  4. 低功耗蓝牙4.0BLE编程-nrf51822开发(10)-描述符

    特性中的属性有两种:属性值或描述符. 支持通知或指示的特性中默认有一个描述符:客户端特性配置描述符(Client Characteristic Configuration Descriptor,CCC ...

  5. dubbo,gradle,spring build from source

    https://github.com/alibaba/dubbo http://www.csdn.net/article/2012-11-13/2811827-alibaba-Dubbo-Distri ...

  6. java JDK8 学习笔记——助教学习博客汇总

    java JDK8 学习笔记——助教学习博客汇总 1-6章 (by肖昱) Java学习笔记第一章——Java平台概论 Java学习笔记第二章——从JDK到IDEJava学习笔记第三章——基础语法Jav ...

  7. HashSet HashTable HashMap的区别

    (1)HashSet是set的一个实现类,hashMap是Map的一个实现类,同时hashMap是hashTable的替代品(为什么后面会讲到). (2)HashSet以对象作为元素,而HashMap ...

  8. 大数据情况下linux的配置

    一:配置的大纲 主要的配置有几个方面: 主机名 IP 网络映射 增加新用户 给新用户root的权限,方便实验 关闭防火墙 安全子系统需要关闭 二:主机名的配置 命令:vi /etc/sysconfig ...

  9. AX中四种库存ABC分析法原理研究

    库存ABC分类,简单的说就是抓大放小,是为了让我们抓住重点,用最大精力来管理最重要的物料,而对于不太重要的物料则可以用较少的精力进行管理.它和我们平常说的八二法则有异曲同工之妙. 既然要应用库存ABC ...

  10. 在zendstudio中添加注释

    /** * * * @access public * @param string $cat_id 分类查询字符串 * @return string */ 然后在function之前的一行打上/**然后 ...