全栈工程师看过来!PHP Javascript语法对照、速查

互联网 20-8-25

PHP、JavaScript 语法对照、速查

全栈工程师看过来,学的计算机语言多了,往往会把不同语言的各个函数搞混。作为一个全栈PHPer,往往PHP、JavaScript 语法傻傻分不清楚,百度一下,查手册要网速。不如收藏下这篇文章,打印出来,贴到一旁快速查阅。

相关推荐:《PHP视频教程》《javascript高级教程》

JavaScript 的一些数组map函数有jQuery实现,ES6后,又出了官方实现。PHP 的数组、字符串相关函数的命名随性,这仨一块就更容易混淆了。

编码风格

语言PHPJavaScript
换行; 号是必须的,\n不是必须的换行 \n,以及 ; 号都不是必须的,for(;;)除外
大小写敏感度只有变量名区分大小写变量名、函数名、类名等 都区分大小写
严格模式declare(strict_types=1); (PHP7新特性)“use strict”;(ECMAScript 5 引入)

变量声明

语言PHPJavaScript
常量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 数组
为定义变量nullundefined

变量转换

语言PHPJavaScript
转bool,boolean$bar = (boolean) $foo; $bar = (bool) $foo; $bar = boolval($foo);boolVal = Boolean(‘’)
转 int$bar = (int) $foo; $bar = (integer) $foo; $bar = intval($foo);
转 float$bar = (float) $foo;$bar = (double) $foo;$bar = (real) $foo;$bar = floatval($foo);
转换为 string
转换为 array$arr = (array) new stdClass();(需要多行函数完成)
转换为 对象$obj = (object) array(‘1’ => ‘foo’);
时间戳转日期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;

魔法变量

语言PHPJavaScript
当前文件$filePath = __FILE__;filePath = __filename
当前目录$currentDir = __DIR__;curDir = __dirname
当前代码行__LINE__
当前函数__FUNCTION__
当前类__CLASS__
当前命名空间__NAMESPACE__

运算符

语言PHPJavaScript
三目(三元)运算re = isMember ? 2.0 : ‘$10.00’
合并运算符$a = $a ?? 1; // PHP7支持

数组

语言PHPJavaScript
基本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”
newvar mycars = new Array(“Saab”,”Volvo”,”BMW”)

循环

语言PHPJavaScript
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);

数组函数

语言PHPJavaScript
获取数组中元素的数目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 引入

字符

语言PHPJavaScript
创建$str = “a string”; \\比较特殊的是PHP在双引号字符中可以解析变量 $str2 = ‘tow string’;var carname = “Volvo XC60”; var carname = ‘Volvo XC60’; (同样的在双引号中可以使用转义字符)
多行字符$bar = <<<EOT foobarEOT;var tmpl =’\ !!! 5\ html\ include header\ body\ include script’
字符拼接$str1 . $str2str1 + str2

字符串函数

语言PHPJavaScript
获取字符长度strlen($str);string.length
获取子字符串substr ( string $string , int $start [, int $length ] ) : string
使用一个字符串分割另一个字符串$pizza = “piece1 piece2 piece3 piece4 piece5 piece6”;$pieces = explode(“ “, $pizza);echo $pieces[0]; // piece1var str=”How are you doing today?”; var n=str.split(“ “); \ output:How,are,you,doing,today?
去除字符串首尾处的空白字符(或者其他字符)
查找字符串首次出现的位置
把字符串转换为小写strtolower ( string $string ) : stringstring.toLowerCase()
把字符串转换为大写strtoupper ( string $string ) : stringstring.toUpperCase()

函数

语言PHPJavaScript
函数参数$argv = func_get_args ( void );var argv = arguments \\ 直接一个函数内对象

对象

语言PHPJavaScript
空对象$obj = new stdClass();
对象属性var myCar = new Object(); myCar.year = 1969; // js还可以以数组形式 myCar[“year”] = 1969;
删除属性unset($obj->a);

正则

语言PHPJavaScript
创建正则表达式$pattern = “/.*/i”;var re = /ab+c/;
PCRE 正则int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] )
POSIX 正则ereg ( string $pattern , string $string [, array &$regs ] ) : int(无)

数学函数

语言PHPJavaScript
随机函数$re = mt_rand($min, $max); // 返回 min~max 之间的随机整数Math.random() // 返回 0 ~ 1 之间的随机数
x的y次方pow(x,y)Math.pow(x,y)

包、空间

语言PHPJavaScript
命名空间namespace MySpace;(无)
引入包const http = require(‘http’) (CommonJS规范) import “my-module”; import {foo as fo, bar} from “my-module”; (es6实现,import需要和export配合使用)
引入文件<script type='text/javascript' src='b.js'></script> (仅在html中用)

其他

语言PHPJavaScript
展开,可变函数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语法对照、速查的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: php视
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:一起看看PHP执行普通shell命令流程

相关资讯