PHP语法基础(与Java、C++等作比较)
2017-07-20 19:07
423 查看
PHP的语法规则特点:
1、无需声明变量,但对于类需要先声明后使用。
2、PHP为弱数据类型的语言,定义和使用变量时只需在变量前加上“$”符号即可,另外类中变量的声明需要用到“var”(跟JavaScript相像)。
3、变量的作用域和其他语言都差不多,分为全局、局部、静态、参数,有一点不同的是在函数内部
使用全局变量的时候需要使用关键词 global 。
4、常量的意义和作用与C++中的常量差不多,不同的是PHP中常量的定义是使用
define(string constant_name,mixed value,case_sensitive=true)函数来定义的,
其中参数case_sensitive为true时变量名对大小写不敏感,为false时敏感。
5、java中连接字符串是使用“+”,而在php中是使用“.”,java中length()用于返回字符串的长度
而在php中是使用strlen(string value)参数是字符串。
6、php的运算符大部分和C++、java是差不多的,但由于php数据类型的不确定性,
所以又有一些不同之处
以下一一列举:
算数运算符:多了一个“并置运算符”,就是.运算符,用来连接两个字符串。
比较运算符:多了“恒等于===”“不恒等于!==”两个,此外双等号的意义是x,y的值相等
类型可以不相等,同理“不等于!=”也是指值不等,而三等号的意义是x,y的值和类型都相等,
同理“!==”是指x,y的值不等或类型不等。
逻辑运算符:“and”和“or”分别对应“&&”和“||”,在PHP中两种方式都兼容。
数组运算符:这是PHP中独特的运算符,
运算符 名称 描述
x + y 集合 x 和 y 的集合
x == y 相等 如果 x 和 y 具有相同的键/值对,则返回 true
x === y 恒等 如果 x 和 y 具有相同的键/值对,且顺序相同类型相同,则返回 true
x != y 不相等 如果 x 不等于 y(值),则返回 true
x <> y 不相等 如果 x 不等于 y,则返回 true
x !== y 不恒等 如果 x 不等于 y(值或类型),则返回 true
7、PHP中条件语法没有改变也是if \if else\if...else if...else\switch
8、相对于C++和Java,PHP中数组也有所变化,首先数组的定义是通过array()函数来定义的,
PHP中数组分三种:
数值数组——这个跟C++、Java中的数组差不多
关联数组——带指定键的数组,每个键关联一个值
这种数组定义语法比较特别:$age=array("peter"=>"35","ben"=>"45");
or: $age['peter']="35";
$age['ben']="45";
多维数组——一个数组中的值可以使另一个数组,另一个数组的值也可以是一个数组。
依照这种方式可以建立起多维数组,基本语法如下:
$families=array
(
"Griffin"=>array("Peter","Lois"),
"Brown"=>array("Junior","Loretta"),
"Quagmire"=>array("Cleveland","Glenn")
);
9、PHP的循环语句结合了Java和C++,for\while\do while\foreach
其中for\while\do while循环都一样,foreach循环与Java稍有不同:
Java中的语法是:
for(type element:array)
{
System.out.println(element);
}
PHP中的语法是:
foreach($array as $value)
{
echo $value."<br>";
}
10、PHP的函数语法与JavaScript的一样,基本形式:
function functionName(参数)
{
执行代码
}
如需返回值,可以直接使用return语句。
11、超级全局变量和魔术变量是PHP中特有的变量,超级全局变量是系统自带的全局变量,而魔术变量有些会依赖于不同的扩展库。(重难点)
这两种变量对于网站开发的后台处理意义重大。
12、php命名空间(难点)
13、PHP的面向对象与大多数面向对象的编程言一样PHP拥有面向对象的所有特性,语法上略有不同:
1、类变量用“var”来定义
2、$this表示自身对象、PHP_EOL为换行符
3、成员方法的调用符是“->”,在Java中我们知道是“.”
4、和Java、c等一样PHP使用“new”来创建实例
5、PHP构造函数和析构函数用固定的写法,分别是
构造:void __construct(参数)
{}
析构:void __destruct(参数)
{}
6、PHP中继承和重写以及接口(interface)和Java是一样的,访问权限的控制是和Java、C++一样的
7、PHP中常量(const限定)、抽象类、static、final和Java是一样的。
8、PHP中在子类中调用父类的构造需要加上patent::__construct();
1、无需声明变量,但对于类需要先声明后使用。
2、PHP为弱数据类型的语言,定义和使用变量时只需在变量前加上“$”符号即可,另外类中变量的声明需要用到“var”(跟JavaScript相像)。
3、变量的作用域和其他语言都差不多,分为全局、局部、静态、参数,有一点不同的是在函数内部
使用全局变量的时候需要使用关键词 global 。
4、常量的意义和作用与C++中的常量差不多,不同的是PHP中常量的定义是使用
define(string constant_name,mixed value,case_sensitive=true)函数来定义的,
其中参数case_sensitive为true时变量名对大小写不敏感,为false时敏感。
5、java中连接字符串是使用“+”,而在php中是使用“.”,java中length()用于返回字符串的长度
而在php中是使用strlen(string value)参数是字符串。
6、php的运算符大部分和C++、java是差不多的,但由于php数据类型的不确定性,
所以又有一些不同之处
以下一一列举:
算数运算符:多了一个“并置运算符”,就是.运算符,用来连接两个字符串。
比较运算符:多了“恒等于===”“不恒等于!==”两个,此外双等号的意义是x,y的值相等
类型可以不相等,同理“不等于!=”也是指值不等,而三等号的意义是x,y的值和类型都相等,
同理“!==”是指x,y的值不等或类型不等。
逻辑运算符:“and”和“or”分别对应“&&”和“||”,在PHP中两种方式都兼容。
数组运算符:这是PHP中独特的运算符,
运算符 名称 描述
x + y 集合 x 和 y 的集合
x == y 相等 如果 x 和 y 具有相同的键/值对,则返回 true
x === y 恒等 如果 x 和 y 具有相同的键/值对,且顺序相同类型相同,则返回 true
x != y 不相等 如果 x 不等于 y(值),则返回 true
x <> y 不相等 如果 x 不等于 y,则返回 true
x !== y 不恒等 如果 x 不等于 y(值或类型),则返回 true
7、PHP中条件语法没有改变也是if \if else\if...else if...else\switch
8、相对于C++和Java,PHP中数组也有所变化,首先数组的定义是通过array()函数来定义的,
PHP中数组分三种:
数值数组——这个跟C++、Java中的数组差不多
关联数组——带指定键的数组,每个键关联一个值
这种数组定义语法比较特别:$age=array("peter"=>"35","ben"=>"45");
or: $age['peter']="35";
$age['ben']="45";
多维数组——一个数组中的值可以使另一个数组,另一个数组的值也可以是一个数组。
依照这种方式可以建立起多维数组,基本语法如下:
$families=array
(
"Griffin"=>array("Peter","Lois"),
"Brown"=>array("Junior","Loretta"),
"Quagmire"=>array("Cleveland","Glenn")
);
9、PHP的循环语句结合了Java和C++,for\while\do while\foreach
其中for\while\do while循环都一样,foreach循环与Java稍有不同:
Java中的语法是:
for(type element:array)
{
System.out.println(element);
}
PHP中的语法是:
foreach($array as $value)
{
echo $value."<br>";
}
10、PHP的函数语法与JavaScript的一样,基本形式:
function functionName(参数)
{
执行代码
}
如需返回值,可以直接使用return语句。
11、超级全局变量和魔术变量是PHP中特有的变量,超级全局变量是系统自带的全局变量,而魔术变量有些会依赖于不同的扩展库。(重难点)
这两种变量对于网站开发的后台处理意义重大。
12、php命名空间(难点)
13、PHP的面向对象与大多数面向对象的编程言一样PHP拥有面向对象的所有特性,语法上略有不同:
1、类变量用“var”来定义
2、$this表示自身对象、PHP_EOL为换行符
3、成员方法的调用符是“->”,在Java中我们知道是“.”
4、和Java、c等一样PHP使用“new”来创建实例
5、PHP构造函数和析构函数用固定的写法,分别是
构造:void __construct(参数)
{}
析构:void __destruct(参数)
{}
6、PHP中继承和重写以及接口(interface)和Java是一样的,访问权限的控制是和Java、C++一样的
7、PHP中常量(const限定)、抽象类、static、final和Java是一样的。
8、PHP中在子类中调用父类的构造需要加上patent::__construct();
相关文章推荐
- php 与java语法关键字比较 献给有java基础有开始接触php的同学
- JAVA基础篇一(Java,C++基础语法的比较)
- C++与Java语法比较
- 比较Java和C++的访问控制语法
- 六种流行的语言---C、C++、python、Java、php、C#比较[转]
- 六种流行的语言---C、C++、python、Java、php、C#比较[转]
- 强弱类型,动态静态语言比较(JAVA,C,C++,Python,Ruby,PHP,Perl)
- C++基础入门教程(七):一些比较特别的基础语法总结
- JAVA、C、C++基本语法的比较
- c++基础学java知识点(基本语法)
- c++基础学java知识点(类的基本语法)
- 比较java和C++的面向对象语法
- 【PHP】PHP基础知识与C++、Java等C家族的重点区别
- C、C++、Python、JavaScript、PHP、Java语法对比(纠正篇)
- 比较java和C++的面向对象语法
- 【编程语言】Java基础语法(与C比较学习)
- Lua中table内建排序与C/C++/Java/php/等内排序算法的排序效率比较
- Java_语法基础_Java的char与byte--和C++中的是不同的
- C#与Java基础语法初比较
- java基础语法(顺便回顾cpp语法并比较与java的异同)