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

资源魔 43 0

PHP、JavaScript 语法对照、速查

全栈工程师看过去,学的较量争论机言语多了,往往会把没有同言语的各个函数搞混。作为一个全栈PHPer,往往PHP、JavaScript 语法傻傻分没有分明,baidu一下,查手册要网速。没有如珍藏下这篇文章,打印进去,贴到一旁疾速查阅。

相干保举:《PHP视频教程》《javascript初级教程》

JavaScript 的一些数组map函数有jQuery完成,ES6后,又出了民间完成。PHP 的数组、字符串相干函数的定名随性,这仨一块就更易混杂了。

编码格调

言语PHPJavaScript
换行; 号是必需的,\n没有是必需的换行 \n,和 ; 号都没有是必需的,for(;;)除了外
巨细写敏感度只有变量名区别巨细写变量名、函数名、类名等 都区别巨细写
严格模式declare(strict_types=1); (PHP7新特点)“use strict”;(ECMAScript 5 引入)

变量申明

言语PHPJavaScript
常量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环境)
为界说变量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);
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

邪术变量

言语PHPJavaScript
以后文件$filePath = __FILE__;filePath = __filename
以后目次$currentDir = __DIR__;curDir = __dirname
以后代码行__LINE__
以后函数__FUNCTION__
以后类__CLASS__
以后定名空间__NAMESPACE__

运算符

言语PHPJavaScript
三目(三元)运算$a = $a ? $a : 1;//第一种
$a = $a ? : 1;//第二种 PHP5.3支持
re = isMember ? 2.0 : ‘$10.00’
兼并运算符$a = $a ?? 1; // PHP7支持

数组

言语PHPJavaScript
根本$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”)

轮回

言语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
foo
bar
EOT;
var tmpl =’\
!!! 5\
html\
include header\
body\
include script’
字符拼接$str1 . $str2str1 + str2

字符串函数

言语PHPJavaScript
猎取字符长度strlen($str);string.length
猎取子字符串substr ( string $string , int $start [, int $length ] ) : stringstring.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 ) : stringstring.toLowerCase()
把字符串转换为年夜写strtoupper ( string $string ) : stringstring.toUpperCase()

函数

言语PHPJavaScript
函数参数$argv = func_get_args ( void );var argv = arguments \\ 间接一个函数内工具

工具

言语PHPJavaScript
空工具$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’]

正则

言语PHPJavaScript
创立正则表白式$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(无)

数学函数

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

包、空间

言语PHPJavaScript
定名空间namespace MySpace;(无)
引入包use Package;
use Package as Package1, Package2;
const http = require(‘http’) (Co妹妹onJS标准)
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顶用)

其余

言语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语法对照、速查的具体内容,更多请存眷资源魔其它相干文章!

标签: php php开发教程 php开发资料 php开发自学 php论坛 php教程 php入门 php职位 php工作 javascript 语法 php视

抱歉,评论功能暂时关闭!