相關免費學習推薦:javascript##(視頻)
PHP、JavaScript 語法對照、速查
全端工程師看過來,學的計算機語言多了,往往會把不同語言的各函數搞混。身為全端PHPer,往往PHP、JavaScript 語法傻傻分不清楚,百度一下,查手冊要網速。不如收藏這篇文章,印出來,貼到一旁快速查閱。 JavaScript 的一些陣列map函數有jQuery實現,ES6後,又出了官方實作。 PHP 的陣列、字串相關函數的命名隨性,這仨一塊就更容易混淆了。編碼風格
PHP | JavaScript | |
---|---|---|
; 號換行符號是必須的
| 換行\n,以及 ; 號碼都不是必須的
|
|
#只有變數名稱區分大小寫 | 變數名稱、函數名、類別名稱等都區分大小寫 | |
declare(strict_types=1); (PHP7新特性) | "use strict" ;(ECMAScript 5 引入) |
變數聲明
PHP | JavaScript | |
---|---|---|
const VAR_NAME = 12; | const MY_FAV = 7; (ES6引入的標準) | |
$varName = 12; (PHP嚴格的來講,只有函數作用域,或全域作用域) | function myFunc() { | |
$varName = 12; | var varName1 = 3; | |
$GLOBALS 陣列 | window 物件 | |
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); |
|
轉float | $bar = (float) $foo; $bar = (double) $ foo; $bar = (real) $foo; $bar = floatval($foo); |
|
#轉換為string | $bar = (string) $foo; $bar = strval ($foo); |
|
轉換為array | $arr = (array) new stdClass(); | |
轉換為物件 | $obj = (object) array('1' => 'foo'); | |
時間戳日期 | $date = new DateTime(); $date->setTimestamp(1171502725) ; |
|
字元轉日期 | $dateObj = new DateTime($dateStr); | |
轉換為空 | (unset) $var; \ 不會刪除該變數或unset 其值。只是回傳NULL 值而已 |
|
取得型別 | $varType = gettype($var); | |
類別判斷 | $boolRe = $a instanceof MyClass; |
運算子
語言 | PHP | |
---|---|---|
#三目(三元)運算 | $a = $a ? $ a : 1;//第一種 $a = $a ? : 1;//第二種PHP5.3支持 |
|
合併運算子 | $a = $a ?? 1; // PHP7支援 |
陣列
語言 | PHP | |
---|---|---|
基本 | $a=array(0 => 1, 1 => 2,4,5,6); $array = [ "foo" => "bar", "bar" => "foo"]; // PHP 7語法 |
|
追加 | $arr = array(); $arr[key1] = value1; $arr[key2] = value2; | |
new |
循環
#PHP | ||
---|---|---|
for 迴圈 | for ($i=1; $i {< ;br/> echo $i ; } |
|
foreach ,for in 迴圈 | #$x= array("one","two","three"); foreach ($x as $value) { echo $value; } |
|
while 迴圈 | while($i { echo $i ; $i ; } | while (i{|
#do while 循環 | do { $i ; echo $i; } while ($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 = arrayObject.shift() | 在陣列的開頭新增一個或更多元素 | |
len = arrayObject.unshift(newele1) | ##從已有的陣列中傳回選定的元素 | |
#newArr = arrayObject.slice(start,end) |
#排序 |
|
arrayObject.sort(sortByFunc = null) | 顛倒數組中元素的順序 |
字串函數
語言 | #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 = " tnr0x0B" ] ) : 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 |
---|---|---|
空白物件 | $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 | ##JavaScriptJavaScript |
---|---|---|
展開,可變函數 |
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'); |
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中文網其他相關文章!