PHP、JavaScript 語法對照、快速核對
全端工程師一樣檢視後,學的電腦語言多了,往往會把不同語言的身為全端PHPer,往往PHP、JavaScript 語法傻傻分不清楚,百度一下,查手冊要網速。不如收藏這篇文章,印出來,貼到一旁快速查閱。
相關推薦:《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 ); | |
轉int $bar = (int) $foo; | $bar = (integer) $foo; $bar = intval($foo); | intVal = Number(“314”) |
#轉float $bar = (float) $foo; $bar = (double) $foo; | $bar = (real) $foo;$ bar = floatval($foo); | floatVal = Number(“3.14”) |
#轉換為string | $bar = (string) $foo; $bar = strval($foo); | str = String(123) |
轉換為array | $arr = (array) new stdClass(); | |
轉換為物件 | $obj = (object) array('1' => 'foo'); | let arr = ['yellow', 'white ', 'black']; |
#時間戳記日期 | $date = new DateTime(); $date->setTimestamp(1171502725); | |
#字元轉日期 | $dateObj = new DateTime($dateStr); | |
轉換為空 | (unset) $ var; \ 不會刪除該變數或unset 其值。只是回傳NULL 值而已 |
|
取得型別 | $varType = gettype($var); | |
類別判斷 | $boolRe = $a instanceof MyClass; | boolRe = a instanceof MyClass
##語言 | PHP | JavaScript |
---|---|---|
目前檔案 | $filePath = __FILE__; | filePath = __filename |
目前目錄 | $currentDir = __DIR__; | curDir = __dirname |
目前程式碼行 | __LINE__ | |
目前函數 | __FUNCTION__ | |
目前類別 | __CLASS__ | |
#目前命名空間 | __NAMESPACE__ |
|
「語言 | PHP | JavaScript |
---|---|---|
re = isMember ? 2.0 : '$10.00' | 合併運算子 | |
---|---|---|
語言 | PHP
JavaScript |
|
#基本 | ##$a=array(0 => 1, 1 => 2,4,5,6); $array = [ “foo” => “bar”, “bar” => “foo”]; // PHP 7語法 | b = [1,2,3]
mycars[2]=”BMW” | new | |
---|---|---|
循環 |
|
|
|
|
|
|
# PHP JavaScript |
|
for 迴圈 for ($i=1; $i<=5; $i ) { | echo $i ; } for (var i=0; i < cars.length ; i ) | {
#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) | 顛倒數組中元素的順序 |
arrayObject.reverse() | each 函數 function map_Spanish($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引入) | 回呼函數迭代地將陣列簡化為單一的值
$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 = << bar EOT; | var tmpl ='\ !!! 5\ html \ include header\ body\ include script' |
#字元拼接 | $str1 . $str2 |
PHP | ||
---|---|---|
取得字元長度 | strlen($str); | |
取得子字串 | substr ( string $string , int $start [, int $length ] ) : string | |
使用字串分割另一個字串 | $pizza = 「piece1 piece2 piece3 piece4 piece5 piece6 ”;$pieces = explode(“ “, $pizza); echo $pieces[0]; // piece1 | var str=”How are you doing today?”; |
移除字串首尾處的空白字元(或者其他字元) | trim ( string $str [, string $character_mask = “ \t\n\r\0\x0B” ] ) : string (PHP 函數的可自訂要強一點) | |
找出字串首次出現的位置 | $mystring = 'abcsdfdsa'; $pos = strpos($mystring, 'cs'); | |
把字串轉換成小寫 | strtolower ( string $string ) : string | |
把字串轉換成大寫 | strtoupper ( string $string ) : string |
語言 | PHP | |
---|---|---|
#函數參數 | $argv = func_get_args ( void ); |
#PHP | JavaScript | |
---|---|---|
JavaScript | ||
$obj = new stdClass(); | var obj = new Object(); // 或 person={firstname:” John”,lastname:”Doe”,age:50,eyecolor:”blue”}; | #物件屬性 |
var myCar = new Object(); | myCar.year = 1969; // js也可以以陣列形式 | myCar[“year”] = 1969;
正規 | ||
---|---|---|
JavaScript | ||
$pattern = “/.*/i”; | var re = /ab c/; |
ereg ( string $pattern , string $string [, array &$regs ] ) : int | (無) | |
---|---|---|
數學函數 | #語言 | |
#JavaScript |
pow(x ,y) | Math.pow(x,y) | |
---|---|---|
##語言 | ||
JavaScript |
#命名空間 namespace MySpace; |
|
引入套件 | use Package; use Package as Package1, Package2; const http = require('http') (CommonJS規範) | import “my-module”;
#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語法對照、速查的詳細內容。更多資訊請關注PHP中文網其他相關文章!