首頁 > 後端開發 > php教程 > 全端工程師看過來! PHP Javascript語法對照、速查

全端工程師看過來! PHP Javascript語法對照、速查

藏色散人
發布: 2023-04-09 14:24:02
轉載
3026 人瀏覽過

PHP、JavaScript 語法對照、快速核對

全端工程師一樣檢視後,學的電腦語言多了,往往會把不同語言的身為全端PHPer,往往PHP、JavaScript 語法傻傻分不清楚,百度一下,查手冊要網速。不如收藏這篇文章,印出來,貼到一旁快速查閱。

相關推薦:《PHP視訊教學》《javascript高級教學

JavaScript 的一些陣列map函數有jQuery實現, ES6後,又出了官方實作。 PHP 的陣列、字串相關函數的命名隨性,這仨一塊就更容易混淆了。

編碼風格

##JavaScript換行換行大小寫敏感度只有變數名區分大小寫變數名稱、函數名稱、類別名稱等都區分大小寫嚴格模式#declare( strict_types=1); (PHP7新特性)“use strict”;(ECMAScript 5 介紹)
#語言 PHP
; 號碼是必須的,\n不是必須的 \n,以及; 號都不是必須的,for(;;)除外

變數宣告

語言PHPJavaScript常數const VAR_NAME = 12; const MY_FAV = 7; (ES6引入的標準)局部變數$varName = 12; (PHP只有函數作用域,和全域作用域之分)function myFunc() { 全域變數$varName = 12; var varName1 = 3; 全域符號表$GLOBALS  陣列window 物件(html環境中) 為定義變數null#undefined

變數轉換

define('VAR_NAME', 12);
   var varName = 3;
if (true) {
let varName2 = 2;
}
}
(函數作用域內必須用var聲明,否則變數全域可存取.)
(let修飾的變數就是區塊級別作用域,ES6引入)

function myFunc() {
global $varName;
}
(函數內使用全域變量,必須要用global變數宣告使用外部的全域變數)
varName2 = 2;
function myFunc() {
varName3 = 6;
} (這裡寫法varName1,2,3都是全域變數)
global 物件(nodejs環境)
 $bar = (bool) $foo; boolVal = Boolean('') $bar = (integer) $foo; intVal = Number(“314”) intVal = parseInt(“3.14”)$bar = (real) $foo;floatVal = Number(“3.14”) flotaVal = parseFloat(“12”)$bar = (string) $foo; str = String(123) str = (123).toString()(需要多行函數完成)let arr = ['yellow', 'white ', 'black']; let obj = {…arr}$date = new DateTime(); var date = new Date(1398250549490);var myDateObj = new Date(Date.parse(datetimeStr))# varType = typeof myCarboolRe = a instanceof MyClass new Date() .constructor === Date
語言 #PHP JavaScript
##轉bool,boolean

$bar = (boolean) $foo;  
 $bar =  boolval($foo );
轉int

$bar = (int) $foo;
$bar = intval($foo);
#轉float

$bar = (float) $foo;
$bar = (double) $foo;
$ bar = floatval($foo);
#轉換為string
$bar = strval($foo);
轉換為array $arr = (array) new stdClass();
轉換為物件 $obj = (object) array('1' => 'foo');
#時間戳記日期
$date->setTimestamp(1171502725);
#字元轉日期 $dateObj = new DateTime($dateStr);
轉換為空 (unset) $ var; \ 不會刪除該變數或unset 其值。只是回傳NULL 值而已
取得型別 $varType =  gettype($var);
類別判斷 $boolRe = $a instanceof MyClass;

魔法變數##語言PHPJavaScript目前檔案$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##$a=array(0 => 1, 1 => 2,4,5,6); b = [1,2,3]追加


語言

JavaScript

#基本  $array = [ “foo” => “bar”, “bar” => “foo”]; // PHP 7語法

$arr = array(); $arr[key1] = value1; $arr[key2] = value2;

var mycars=new Array()mycars[0]=”Saab”mycars[1]=”Volvo”#var mycars = new Array(“Saab”,”Volvo ”,”BMW”) echo $i ; { document.write (cars[i]); }
mycars[2]=”BMW” new




循環













# PHP

JavaScript
for 迴圈

for ($i=1; $i<=5; $i )
{
}  


for (var i=0; i < cars.length ; 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);######### ####

陣列函數

##拼接兩個字串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)排序array_reverse(&$arr, $keepKeys = true); {    echo $n;}$c = array_map(“show_Spanish”, $a); items.forEach(function(item, index, arr){回呼函數迭代地將陣列簡化為單一的值function sum($carry, $item) { return $carry;}
#PHPJavaScript
## 取得陣列中元素的數量count($arr);arrayObject.length

sort($arr1);
arrayObject.sort(sortByFunc = null)

顛倒數組中元素的順序
arrayObject.reverse()










each 函數

function map_Spanish($n)
$b = array(“uno”, “dos” , “tres”, “cuatro”, “cinco”);
$.each([ 52, 97 ], function( index, value ) {
alert( index “: “ value );
});
// ↑ 這是jQuery 方式
const items = ['item1', 'item2', 'item3'] ;
 console.log('key:' index ' value:' item);
});
(ES6引入)


   $carry = $item;}
$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 引入

字符

str1##2##str12 str2
語言 PHP JavaScript
建立 $str = “a string”;
\\比較特殊的是PHP在雙引號字元中可以解析變數
$str2 = 'tow string';
var carname = “Volvo XC60”;
var carname = 'Volvo XC60';
(同樣的在雙引號中可以使用轉義字元)
多行字元 $bar = <<    foo
bar
EOT;
var tmpl ='\
   !!! 5\
   html \
     include header\
     body\
       include script'
#字元拼接$str1 . $str2

#字串函數PHPJavaScript 取得字元長度strlen($str);string.length取得子字串string.substr(start,length ) str.slice(1,5);$pizza  = 「piece1 piece2 piece3 piece4 piece5 piece6 ”;var str=”How are you doing today?”; var n=str.split(“ “); \ output:How,are,you,doing,today?var str = “ string “; alert(str.trim());var str=”Hello world, welcome to the universe.”;var n=str.indexOf (“welcome”);把字串轉換成小寫strtolower ( string $string ) : stringstring.toLowerCase()把字串轉換成大寫strtoupper ( string $string ) : stringstring.toUpperCase()

substr ( string $string , int $start [, int $length ] ) : string

使用字串分割另一個字串
$pieces = explode(“ “, $pizza);
echo $pieces[0]; // piece1

移除字串首尾處的空白字元(或者其他字元)
trim ( string $str [, string $character_mask = “ \t\n\r\0\x0B” ] ) : string
(PHP 函數的可自訂要強一點)

找出字串首次出現的位置
$mystring = 'abcsdfdsa';
$pos = strpos($mystring, 'cs');

函數語言PHPJavaScript#函數參數$argv = func_get_args ( void );var argv = arguments \\ 直接一個函數內物件
## #######

物件

#PHPJavaScript空物件$obj = new stdClass(); $obj->a = 12;var myCar = new Object(); myCar[“year”] = 1969;刪除屬性
#PHPJavaScript

$obj = new stdClass();var obj = new Object();  // 或
  person={firstname:” John”,lastname:”Doe”,age:50,eyecolor:”blue”};


#物件屬性
myCar.year = 1969; // js也可以以陣列形式
unset($obj->a);

delete object.property   delete object[' property']

PHPPHPJavaScript建立正規表示式PCRE 正規
正規

$pattern = “/.*/i”; var re = /ab c/;
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次方PHP(無)use Package; import “my-module”; import {foo as fo, bar} from “my-module”; (es6實現,import需要和export搭配使用)
pow(x ,y) Math.pow(x,y)
##語言
JavaScript

#命名空間

namespace MySpace;
引入套件
use Package as Package1, Package2;const http = require('http') (CommonJS規範)
#########引入檔案######include 'b.php'; ### require 'bc.php';#########< ;script type='text/javascript' src='b.js'>### (僅用html)###########

其他

##$my_array = array('a' =>'Dog','b'=>'Cat','c'=>'Horse'); var date1 = [1970, 2, 1];
#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開始支援)
解構 list($a, $b, $c) = $my_array;
/ / php5, 如果是php7版本支援以下語法
['a'=>$a, 'c'=>$c] = $my_array;
[ 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中文網其他相關文章!

來源:learnku.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板