PHP和JS特性对比

1、数组的对比

JS

创建数组的两种方法:

var arr = new Array(ele1, ele2, ..., elen);

var arr = [ele1, ele2, ..., elen];

JS中的索引永远是从0开始逐一递增,中间没有空挡。

PHP

1.创建数组的方式:

$arr = array(ele1, ele2, ..., elen);

例如:

$arr = array(10 => "空调", 11 => " 冰箱", " 洗衣机", "name"=>" 电视机");

print_r($arr);

//将会输出:print_r($arr);

2.数组的索引可以是数字,也可以是字符串,甚至可以是数字和字符串的混合。打印时echo $arr['name'];不要忘了索引上的单引号,否则将会把name当成常量。

3.打印数组:

只能用print_r();打印,不能用echo $arr;打印,echo只会输出数组类型。

4. 索引数组和关联数组:如果数组索引是纯数字,就叫“索引数组”,否则就叫“关联数组”。

2、逻辑运算符的异同

JS

var age = 3 || 2;

alert(age);

//将会打印3

PHP

var age = 3 || 2;

var_dump(age);

//将会打印true,因为在PHP中为逻辑运算

//(c语言使用printf("%d\n", 3 || 2);将会打印1)

相同之处:

他们都有短路功能

3、函数的异同

JS

在JS中可以多次声明同名函数,JS中的函数是一个变量,再次声明,只是将之前声明的函数覆盖了而已

JS中的函数名区分大小写

JS中函数调用的实参可以不喝声明时函数的形参个数相同,如果调用时实参个数多余声明时形参个数,那么从前往后多余的参数将会被忽略;如果调用时实参个数小鱼声明时形参的个数,那么在函数中使用未传入实参的形参时,将会提示undefined。

JS中函数参数没有默认值这个特性

函数内可以访问外部的全局变量

PHP

在一个PHP文本文档中,不能多次声明同名函数,而PHP中的函数属于语言结构了

在PHP中函数名不区分大小写,类和方法也不区分大小写,但是变量和常量都区分大小写。

在PHP中,调用函数时的实参个数必须与声明函数时的形参个数相同

PHP的函数,函数声明时,某个参数可以有“默认值”,例如

PHP函数不能访问其外部的全局变量

function t($a, $b, $c = 9){

echo $a + $b + $c;

}

t(1, 2, 3); //将会打印6

t(1, 2); //将会打印12

4、变量声明的异同

JS

JS中使用“var ”+”变量名;”定义变量

定义在函数之外的变量在定义变凉之后的整个源文件中都可以使用,定义在函数中的变量和函数的参数作用域仅在函数中。JS没有定义静态变量的关键字,没有引用变量的概念,没有常量的概念,事实上,所有‘字面值’都可以看做是常量

PHP

PHP中定义变量直接使用“$”+“变量名”

PHP变量的作用域分别为:

内置超全局变量,在代码的任意位置都可以访问,是PHP预先定义好的

常量,一旦声明,就是全局性的,可以在函数内外使用

全局变量,在代码间声明,可在代码间访问,但是不能再函数内访问,可以在函数内使用‘global’+变量名调用全局变量

函数内定义的变量和静态变量作用域只到函数结束

相同点:

变量和常量区分大小写

  • 发表于:
  • 原文链接:https://kuaibao.qq.com/s/20190127A0KNNM00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券