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

PHP、JavaScript 语法对照、速查

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

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

编码风格

语言 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语法对照、速查的文章就分享到这,如果对你有帮助欢迎继续关注我们哦

本文来自投稿,不代表重蔚自留地立场,如若转载,请注明出处https://www.cwhello.com/40990.html

如有侵犯您的合法权益请发邮件951076433@qq.com联系删除

(0)
php学习php学习订阅用户
上一篇 2022年6月18日 23:57
下一篇 2022年6月18日 23:57

相关推荐

  • 说说php拆分字符串。

    在PHP中,我们可以使用内置的字符串函数来拆分字符串,这些函数包括`str_split()`、`explode()`和`split()`,每种函数都有其特定的用途和优点,选择哪种函数取决于你的具体需求。 1. `str_split()`:这个函数将字符…

    2024年6月20日
    00
  • PHP自定义的 printf 函数新用途

    【相关学习推荐:php编程(视频)】大家都知道 libc 的 printf() 及其家族。本章节将详细介绍 PHP 声明和使用的许多克隆,它们的目标是什么,为什么使用它们,以及何时使用它们。你知道这些函数很有用,但有时无法…

    2022年6月19日
    0143
  • 聊聊js歌词滚动效果。

    在网页设计中,实现歌词向上滚动的效果是一种常见的需求,这种效果可以增加网页的动态感,提升用户体验,以下是实现歌词向上滚动的详细步骤: (图片来源网络,侵删) 1、HTML和CSS基础 在开始之前,我们需要了解HT…

    2024年6月25日
    03
  • PHP中使用Redis的hyperLogLog计数器

    PHP是一种常用的服务器端编程语言,常常被用于开发Web应用程序。而Redis是一个开源的内存数据库,被广泛使用于缓存、分布式锁等场景。Redis有一个特殊的数据结构——HyperLogLog,可以进行基数估计。在某些场景下,我…

    2023年5月19日
    011
  • 如何在PHP中使用PHPUnit框架进行测试。

    随着Web开发的不断演进,测试已经成为了一个必不可少的部分。在Web开发中,测试可以帮助我们确保代码的质量以及提高开发效率。而PHPUnit框架则是PHP中最常用的测试框架之一,提供了丰富的测试工具和API,使得开发者…

    2023年5月23日
    02
  • PHP 生成唯一订单号函数

    PHP 生成唯一订单号函数 一、应用场景        有电子商城项目,需要生成订单号。当时的考虑很简单,取系统时间加上随机数,或者使用 uniqid() 方法。仔细考虑下上述方法,在顾客购买量少的情况下,订单重复的可能性…

    2018年4月28日 PHP案例操作
    0245
  • 字符串的布尔类型:bool, boolean

    bool和boolean用于标识某种只有两个状态值的数据:true,false——吃没吃,去没去,有没有。。。。。 在应用出,我们常常会(需要)直接将一个数据(可能是各种其他类型)当作一个布尔值来进行判断。 那么此时其实发…

    2018年3月17日
    0310
  • PHP使用curl库发送HTTP请求。

    在Web开发中,发送HTTP请求是一项非常重要的任务。无论是通过API获取数据,还是与第三方服务进行通信,都需要使用HTTP请求来进行数据传输。在PHP中,可以使用curl库来发送HTTP请求,本文就来详细介绍curl库的使用方…

    2023年5月23日
    02

联系我们

QQ:951076433

在线咨询:点击这里给我发消息邮件:951076433@qq.com工作时间:周一至周五,9:30-18:30,节假日休息