您好,登录后才能下订单哦!
密码登录
            
            
            
            
        登录注册
            
            
            
        点击 登录注册 即表示同意《亿速云用户服务条款》
        这篇文章将为大家详细讲解有关PHP与Javascript语法对照、速查的详细分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
PHP、JavaScript 语法对照、速查
全栈工程师看过来,学的计算机语言多了,往往会把不同语言的各个函数搞混。作为一个全栈PHPer,往往PHP、JavaScript 语法傻傻分不清楚,
JavaScript 的一些数组map函数有jQuery实现,ES6后,又出了官方实现。PHP 的数组、字符串相关函数的命名随性,这仨一块就更容易混淆了。
| 语言 | PHP | JavaScript | 
|---|---|---|
| 换行 | ; 号是必须的,\n不是必须的 | 换行 \n,以及 ; 号都不是必须的,for(;;)除外 | 
| 大小写敏感度 | 只有变量名区分大小写 | 变量名、函数名、类名等 都区分大小写 | 
| 严格模式 | declare(strict_types=1); (PHP7新特性) | “use strict”;(ECMAScript 5 引入) | 
| 语言 | PHP | JavaScript | 
|---|---|---|
| 常量 | const VAR_NAME = 12;  define(‘VAR_NAME’, 12);  | const MY_FAV = 7; (ES6引入的标准) | 
| 局部变量 | $varName = 12; (PHP只有函数作用域,和全局作用域之分) | function myFunc() {  var varName = 3; if (true) { let varName2 = 2; } } (函数作用域内必须用var声明,否则变量全局可访问.) (let修饰的变量就是块级别作用域,ES6引入)  | 
| 全局变量 | $varName = 12;  function myFunc() { global $varName; } (函数内使用全局变量,必须要用global变量声明使用外部的全局变量)  | var varName1 = 3;  varName2 = 2; function myFunc() { varName3 = 6; } (这里写法varName1,2,3都是全局变量)  | 
| 全局符号表 | $GLOBALS 数组 | window 对象(html环境中)  global 对象(nodejs环境)  | 
| 为定义变量 | null | undefined | 
| 语言 | PHP | JavaScript | 
|---|---|---|
| 转bool,boolean | $bar = (boolean) $foo;   $bar = (bool) $foo; $bar = boolval($foo);  | boolVal = Boolean(‘’) | 
| 转 int | $bar = (int) $foo;  $bar = (integer) $foo; $bar = intval($foo);  | intVal = Number(“314”)  intVal = parseInt(“3.14”)  | 
| 转 float | $bar = (float) $foo; $bar = (double) $foo; $bar = (real) $foo; $bar = floatval($foo);  | floatVal = Number(“3.14”)  flotaVal = parseFloat(“12”)  | 
| 转换为 string | $bar = (string) $foo;  $bar = strval($foo);  | str = String(123)  str = (123).toString()  | 
| 转换为 array | $arr = (array) new stdClass(); | (需要多行函数完成) | 
| 转换为 对象 | $obj = (object) array(‘1’ => ‘foo’); | let arr = [‘yellow’, ‘white’, ‘black’];  let obj = {…arr}  | 
| 时间戳转日期 | $date = new DateTime();  $date->setTimestamp(1171502725);  | var date = new Date(1398250549490); | 
| 字符转日期 | $dateObj = new DateTime($dateStr); | var myDateObj = new Date(Date.parse(datetimeStr)) | 
| 转换为 空 | (unset) $var; \ 不会删除该变量或 unset 其值。仅是返回 NULL 值而已 | |
| 获取类型 | $varType = gettype($var); | varType = typeof myCar | 
| 类判断 | $boolRe = $a instanceof MyClass; | boolRe = a instanceof MyClass  new Date().constructor === Date  | 
| 语言 | PHP | JavaScript | 
|---|---|---|
| 当前文件 | $filePath = __FILE__; | filePath = __filename | 
| 当前目录 | $currentDir = __DIR__; | curDir = __dirname | 
| 当前代码行 | __LINE__ | |
| 当前函数 | __FUNCTION__ | |
| 当前类 | __CLASS__ | |
| 当前命名空间 | __NAMESPACE__ | 
| 语言 | PHP | JavaScript | 
|---|---|---|
| 三目(三元)运算 | $a = $a ? $a : 1;//第一种  $a = $a ? : 1;//第二种 PHP5.3支持  | re = isMember ? 2.0 : ‘$10.00’ | 
| 合并运算符 | $a = $a ?? 1; // PHP7支持 | 
| 语言 | PHP | JavaScript | 
|---|---|---|
| 基本 | $a=array(0 => 1, 1 => 2,4,5,6);  $array = [ “foo” => “bar”, “bar” => “foo”]; // PHP 7语法  | b = [1,2,3] | 
| 追加 | $arr = array();  $arr[key1] = value1; $arr[key2] = value2;  | var mycars=new Array() mycars[0]=”Saab” mycars[1]=”Volvo” mycars[2]=”BMW”  | 
| new | var mycars = new Array(“Saab”,”Volvo”,”BMW”) | 
| 语言 | PHP | JavaScript | 
|---|---|---|
| for 循环 | for ($i=1; $i<=5; $i++)  { echo $i ; }  | for (var i=0; i < cars.length ; i++)  { document.write(cars[i]); }  | 
| foreach ,for in 循环 | $x=array(“one”,”two”,”three”);  foreach ($x as $value) { echo $value; }  | var person= {fname:”John”,lname:”Doe”,age:25};  for (x in person) { txt=txt + person[x]; }  | 
| while 循环 | while ($i <= 5)  {  echo $i ; $i++; }  | while (i<5) { x=x + “num is “ + i ; i++; }  | 
| do while 循环 | do { $i++; echo $i; } while ($ i<= 5);  | do { console.log(i); i++; } while (i < 5);  | 
| 语言 | PHP | JavaScript | 
|---|---|---|
| 获取数组中元素的数目 | count($arr); | arrayObject.length | 
| 拼接两个字符串 | array_merge($arr1, $arr2); | arr1.concat(arr2) | 
| 删除数组元素 | unset($arr[$key]); | delete arr1[key] | 
| 将数组拼接成字符串 | implode(‘,’, $arr1); | arr.join(‘,’) | 
| 删除并返回数组最后元素 | $re = array_pop($arr1); | re = arrayObject.pop() | 
| 向数组的末尾添加一个元素 | array_push($arr1, $var1); | len = arrayObject.push(newele1) | 
| 将数组的第一个元素删除并返回 | $re = array_shift($arr1); | re = arrayObject.shift() | 
| 向数组的开头添加一个或更多元素 | array_unshift($arr1, $var1); | len = arrayObject.unshift(newele1) | 
| 从已有的数组中返回选定的元素 | $newArr = array_splice($arr1,$start,$len); | newArr = arrayObject.slice(start,end) | 
| 排序 | sort($arr1); | arrayObject.sort(sortByFunc = null) | 
| 颠倒数组中元素的顺序 | array_reverse(&$arr, $keepKeys = true); | arrayObject.reverse() | 
| each 函数 | function map_Spanish($n) { echo $n; } $b = array(“uno”, “dos”, “tres”, “cuatro”, “cinco”); $c = array_map(“show_Spanish”, $a);  | $.each([ 52, 97 ], function( index, value ) { alert( index + “: “ + value ); }); // ↑ 这是 jQuery 方式 const items = [‘item1’, ‘item2’, ‘item3’]; items.forEach(function(item, index, arr){ console.log(‘key:’ + index + ‘ value:’ + item); }); (ES6引入)  | 
| 回调函数迭代地将数组简化为单一的值 | function sum($carry, $item) { $carry += $item; return $carry; } $a = array(1, 2, 3, 4, 5); var_dump(array_reduce($a, “sum”)); // int(15)  | var numbers = [65, 44, 12, 4]; function getSum(total, num) { return total + num; } console.log(numbers.reduce(getSum)); 始于ECMAScript 3  | 
| 用回调函数过滤数组中的单元 | function odd($var) { // returns whether the input integer is odd return($var & 1); } $array1 = array(“a”=>1, “b”=>2, “c”=>3, “d”=>4, “e”=>5); echo “Odd :\n”; array_filter($array1, “odd”);  | function isBigEnough(element) { return element >= 10; } var filtered = [12, 5, 8, 130, 44].filter(isBigEnough); \\ JavaScript 1.6 引入  | 
| 语言 | PHP | JavaScript | 
|---|---|---|
| 创建 | $str = “a string”;  \\比较特殊的是PHP在双引号字符中可以解析变量 $str2 = ‘tow string’;  | var carname = “Volvo XC60”;  var carname = ‘Volvo XC60’; (同样的在双引号中可以使用转义字符)  | 
| 多行字符 | $bar = <<<EOT  foo bar EOT;  | var tmpl =’\ !!! 5\ html\ include header\ body\ include script’  | 
| 字符拼接 | $str1 . $str2 | str1 + str2 | 
| 语言 | PHP | JavaScript | 
|---|---|---|
| 获取字符长度 | strlen($str); | string.length | 
| 获取子字符串 | substr ( string $string , int $start [, int $length ] ) : string | string.substr(start,length)  str.slice(1,5);  | 
| 使用一个字符串分割另一个字符串 | $pizza  = “piece1 piece2 piece3 piece4 piece5 piece6”; $pieces = explode(“ “, $pizza); echo $pieces[0]; // piece1  | var str=”How are you doing today?”;  var n=str.split(“ “); \ output:How,are,you,doing,today?  | 
| 去除字符串首尾处的空白字符(或者其他字符) | trim ( string $str [, string $character_mask = “ \t\n\r\0\x0B” ] ) : string  (PHP 函数的可定制要强一点)  | var str = “ string “;  alert(str.trim());  | 
| 查找字符串首次出现的位置 | $mystring = ‘abcsdfdsa’;  $pos = strpos($mystring, ‘cs’);  | var str=”Hello world, welcome to the universe.”; var n=str.indexOf(“welcome”);  | 
| 把字符串转换为小写 | strtolower ( string $string ) : string | string.toLowerCase() | 
| 把字符串转换为大写 | strtoupper ( string $string ) : string | string.toUpperCase() | 
| 语言 | PHP | JavaScript | 
|---|---|---|
| 函数参数 | $argv = func_get_args ( void ); | var argv = arguments \\ 直接一个函数内对象 | 
| 语言 | PHP | JavaScript | 
|---|---|---|
| 空对象 | $obj = new stdClass(); | var obj = new Object();  // 或者  person={firstname:”John”,lastname:”Doe”,age:50,eyecolor:”blue”};  | 
| 对象属性 | $obj = new stdClass();  $obj->a = 12;  | var myCar = new Object();  myCar.year = 1969; // js还可以以数组形式 myCar[“year”] = 1969;  | 
| 删除属性 | unset($obj->a); | delete object.property   delete object[‘property’]  | 
| 语言 | PHP | JavaScript | 
|---|---|---|
| 创建正则表达式 | $pattern = “/.*/i”; | var re = /ab+c/; | 
| PCRE 正则 | int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] ) | var myRe = /d(b+)d/g;  var myRe = new RegExp(“d(b+)d”, “g”);  | 
| POSIX 正则 | ereg ( string $pattern , string $string [, array &$regs ] ) : int | (无) | 
| 语言 | PHP | JavaScript | 
|---|---|---|
| 随机函数 | $re = mt_rand($min, $max); // 返回 min~max 之间的随机整数 | Math.random() // 返回 0 ~ 1 之间的随机数 | 
| x的y次方 | pow(x,y) | Math.pow(x,y) | 
| 语言 | PHP | JavaScript | 
|---|---|---|
| 命名空间 | namespace MySpace; | (无) | 
| 引入包 | use Package;  use Package as Package1, Package2;  | const http = require(‘http’) (CommonJS规范)  import “my-module”; import {foo as fo, bar} from “my-module”; (es6实现,import需要和export配合使用)  | 
| 引入文件 | include ‘b.php’;  require ‘bc.php’;  | <script type='text/javascript' src='b.js'></script> (仅在html中用) | 
| 语言 | PHP | JavaScript | 
|---|---|---|
| 展开,可变函数 | function add(…$numbers) {   foreach ($numbers as $n) { $sum += $n; } } echo add(1, 2, 3, 4); // PHP5.6 开始支持  | function myFunction(x, y, z) { }  var args = [0, 1, 2]; myFunction(…args); (ES6开始支持)  | 
| 解构 | $my_array = array(‘a’=>’Dog’,’b’=>’Cat’,’c’=>’Horse’);  list($a, $b, $c) = $my_array; // php5, 如果是php7版本支持以下语法 [‘a’=>$a, ‘c’=>$c] = $my_array;  | var date1 = [1970, 2, 1]; [ year, mouth ]= date1; var date2 = {year: 1980, mouth: 3, day: 21}; ({ mouth } = date2); console.log(date1); console.log(year); console.log(mouth);  | 
关于PHP与Javascript语法对照、速查的详细分析就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。