PHP和Javascript語法對照示例

這篇文章給大家分享的是有關(guān)PHP和Javascript語法對照示例的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

員工經(jīng)過長期磨合與沉淀,具備了協(xié)作精神,得以通過團(tuán)隊的力量開發(fā)出優(yōu)質(zhì)的產(chǎn)品。創(chuàng)新互聯(lián)堅持“專注、創(chuàng)新、易用”的產(chǎn)品理念,因為“專注所以專業(yè)、創(chuàng)新互聯(lián)網(wǎng)站所以易用所以簡單”。公司專注于為企業(yè)提供成都網(wǎng)站設(shè)計、成都網(wǎng)站制作、微信公眾號開發(fā)、電商網(wǎng)站開發(fā),小程序制作,軟件專業(yè)公司等一站式互聯(lián)網(wǎng)企業(yè)服務(wù)。

PHP、JavaScript 語法對照、速查

全棧工程師看過來,學(xué)的計算機(jī)語言多了,往往會把不同語言的各個函數(shù)搞混。作為一個全棧PHPer,往往PHP、JavaScript 語法傻傻分不清楚,百度一下,查手冊要網(wǎng)速。不如收藏下這篇文章,打印出來,貼到一旁快速查閱。

JavaScript 的一些數(shù)組map函數(shù)有jQuery實(shí)現(xiàn),ES6后,又出了官方實(shí)現(xiàn)。PHP 的數(shù)組、字符串相關(guān)函數(shù)的命名隨性,這仨一塊就更容易混淆了。

編碼風(fēng)格

語言PHPJavaScript
換行; 號 換行符號是必須的換行 \n,以及 號都不是必須的
大小寫敏感度只有變量名區(qū)分大小寫變量名、函數(shù)名、類名等 都區(qū)分大小寫
嚴(yán)格模式declare(strict_types=1); (PHP7新特性)"use strict";(ECMAScript 5 引入)

變量聲明

語言PHPJavaScript
常量const VAR_NAME = 12; <br/> define('VAR_NAME', 12);const MY_FAV = 7; (ES6引入的標(biāo)準(zhǔn))
局部變量$varName = 12; (PHP嚴(yán)格的來講,只有函數(shù)作用域,或者全局作用域)function myFunc() { <br/>    var varName = 3; <br/> if (true) {<br/> let varName2 = 2;<br/>}<br/>}<br/> (函數(shù)作用域內(nèi)必須用var聲明,否則變量全局可訪問.)<br/>(let修飾的變量就是塊級別作用域,ES6引入) <br/>
全局變量$varName = 12; <br/> function myFunc() {<br/> global $varName; <br/> } <br/> (函數(shù)內(nèi)使用全局變量,必須要用global變量聲明使用外部的全局變量)var varName1 = 3; <br/> varName2 = 2; <br/> function myFunc() {<br/> varName3 = 6; <br/> } (這里寫法varName1,2,3都是全局變量)
全局符號表$GLOBALS  數(shù)組window 對象
為定義變量nullundefined

變量轉(zhuǎn)換

語言PHPJavaScript
轉(zhuǎn)bool,boolean$bar = (boolean) $foo;  <br/>  $bar = (bool) $foo; <br/>  $bar =  boolval($foo);boolVal = Boolean('')
轉(zhuǎn) int$bar = (int) $foo; <br/> $bar = (integer) $foo; <br/> $bar = intval($foo);intVal = Number("314") <br/> intVal = parseInt("3.14")
轉(zhuǎn) float$bar = (float) $foo;<br/>$bar = (double) $foo;<br/>$bar = (real) $foo;<br/>$bar = floatval($foo);floatVal = Number("3.14") <br/> flotaVal = parseFloat("12")
轉(zhuǎn)換為 string$bar = (string) $foo; <br/> $bar = strval($foo);str = String(123) <br/> str = (123).toString()
轉(zhuǎn)換為 array$arr = (array) new stdClass();(需要多行函數(shù)完成)
轉(zhuǎn)換為 對象$obj = (object) array('1' => 'foo');let arr = ['yellow', 'white', 'black']; <br/> let obj = {...arr}
時間戳轉(zhuǎn)日期$date = new DateTime(); <br/> $date->setTimestamp(1171502725);var date = new Date(1398250549490);
字符轉(zhuǎn)日期$dateObj = new DateTime($dateStr);var myDateObj = new Date(Date.parse(datetimeStr))
轉(zhuǎn)換為 空(unset) $var; \ 不會刪除該變量或 unset 其值。僅是返回 NULL 值而已
獲取類型$varType =  gettype($var);varType = typeof myCar
類判斷$boolRe = $a instanceof MyClass;boolRe = a instanceof MyClass <br/> new Date().constructor === Date

運(yùn)算符

語言PHPJavaScript
三目(三元)運(yùn)算$a = $a ? $a : 1;//第一種 <br/> $a = $a ? : 1;//第二種 PHP5.3支持re = isMember  ? 2.0 : '$10.00'
合并運(yùn)算符$a = $a ?? 1; //  PHP7支持

數(shù)組

語言PHPJavaScript
基本$a=array(0 => 1, 1 => 2,4,5,6); <br/>  $array = [ "foo" => "bar", "bar" => "foo"]; // PHP 7語法b = [1,2,3]
追加$arr = array(); <br/> $arr[key1] = value1; <br/> $arr[key2] = value2;var mycars=new Array()<br/>mycars[0]="Saab"<br/>mycars[1]="Volvo"<br/>mycars[2]="BMW"
new
var mycars = new Array("Saab","Volvo","BMW")

循環(huán)

語言PHPJavaScript
for 循環(huán)for ($i=1; $i<=5; $i++) <br/> {<br/> echo $i ; <br/> }  <br/>for (var i=0; i < cars.length ; i++) <br/> { <br/>document.write(cars[i]); <br/>}
foreach ,for in 循環(huán)$x=array("one","two","three"); <br/> foreach ($x as $value) <br/> { <br/> echo $value; <br/>}var person= {fname:"John",lname:"Doe",age:25}; <br/> for (x in person)  // x 為屬性名 <br/> { <br/>txt=txt + person[x]; <br/> }
while 循環(huán)while($i <= 5) <br/> { <br/> echo $i ; <br/>$i++; <br/> }while (i<5)<br/>{<br/>x=x + "The number is " + i + "
";<br/>    i++;<br/>}
do while 循環(huán)do {<br/>    $i++;<br/>    echo  $i;<br/>} while ($i<=5);do<br/>{<br/>    document.write(i);<br/>   i++;<br/>}<br/>while (i<5);

本文來自

數(shù)組函數(shù)

語言PHPJavaScript
獲取數(shù)組中元素的數(shù)目count($arr);arrayObject.length
拼接兩個字符串array_merge($arr1, $arr2);arr1.concat(arr2)
刪除數(shù)組元素unset($arr[$key]);delete arr1[key]
將數(shù)組拼接成字符串implode(',', $arr1);arr.join(‘,’)
刪除并返回數(shù)組最后元素$re = array_pop($arr1);re = arrayObject.pop()
向數(shù)組的末尾添加一個元素array_push($arr1, $var1);len = arrayObject.push(newele1)
將數(shù)組的第一個元素刪除并返回$re = array_shift($arr1);re = arrayObject.shift()
向數(shù)組的開頭添加一個或更多元素array_unshift($arr1, $var1);len = arrayObject.unshift(newele1)
從已有的數(shù)組中返回選定的元素$newArr = array_splice($arr1,$start,$len);newArr = arrayObject.slice(start,end)
排序sort($arr1);arrayObject.sort(sortByFunc = null)
顛倒數(shù)組中元素的順序array_reverse(&$arr, $keepKeys = true);arrayObject.reverse()



each 函數(shù)function map_Spanish($n)<br/>{<br/>    echo $n;<br/>}<br/>$b = array("uno", "dos", "tres", "cuatro", "cinco");<br/>$c = array_map("show_Spanish", $a);$.each([ 52, 97 ], function( index, value ) {<br/>alert( index + ": " + value );<br/>}); <br/>  jQuery 方式 <br/> const items = ['item1', 'item2', 'item3']; <br/> items.forEach(function(item, index, arr){<br/>  console.log('key:' + index + ' value:' + item);<br/>}); <br/> (ES6引入)
回調(diào)函數(shù)迭代地將數(shù)組簡化為單一的值function sum($carry, $item) {<br/>    $carry += $item;<br/>    return $carry;<br/>}<br/>$a = array(1, 2, 3, 4, 5);<br/>var_dump(array_reduce($a, "sum")); // int(15)var numbers = [65, 44, 12, 4];<br/>function getSum(total, num) {<br/>    return total + num;<br/>}<br/>console.log(numbers.reduce(getSum));<br/> 始于ECMAScript 3
用回調(diào)函數(shù)過濾數(shù)組中的單元function odd($var) {<br/>    // returns whether the input integer is odd<br/>    return($var & 1);<br/>}<br/>$array1 = array("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);<br/>echo "Odd :\n";<br/>print_r(array_filter($array1, "odd"));function isBigEnough(element) {<br/>  return element >= 10;<br/>}<br/>var filtered = [12, 5, 8, 130, 44].filter(isBigEnough); \ JavaScript 1.6 引入

字符

語言PHPJavaScript
創(chuàng)建$str = "a string"; <br/> \\\\比較特殊的是PHP在雙引號字符中可以解析變量 <br/> $str2 = 'tow string';var carname = "Volvo XC60"; <br/> var carname = 'Volvo XC60';<br/> (同樣的在雙引號中可以使用轉(zhuǎn)義字符)
多行字符$bar = <<<EOT<br/>    foo<br/>bar<br/>EOT;<br/>var tmpl ='<br/>    !!! 5<br/>    html<br/>      include header<br/>      body<br/>        include script'
字符拼接$str1 . $str2str1 + str2

字符串函數(shù)

語言PHPJavaScript
獲取字符長度strlen($str);string.length
獲取子字符串substr ( string $string , int $start [, int $length ] ) : stringstring.substr(start,length) <br/> str.slice(1,5);
使用一個字符串分割另一個字符串$pizza  = "piece1 piece2 piece3 piece4 piece5 piece6";<br/>$pieces = explode(" ", $pizza);<br/>echo $pieces[0]; // piece1var str="How are you doing today?"; <br/> var n=str.split(" "); <br/>\ output:How,are,you,doing,today?
去除字符串首尾處的空白字符(或者其他字符)trim ( string $str [, string $character_mask = " tnr0x0B" ] ) : string <br/> (PHP 函數(shù)的可定制要強(qiáng)一點(diǎn))var str = " string "; <br/> alert(str.trim());
查找字符串首次出現(xiàn)的位置$mystring = 'abcsdfdsa'; <br/> $pos = strpos($mystring, 'cs');var str="Hello world, welcome to the universe.";<br/>var n=str.indexOf("welcome");
把字符串轉(zhuǎn)換為小寫strtolower ( string $string ) : stringstring.toLowerCase()
把字符串轉(zhuǎn)換為大寫strtoupper ( string $string ) : stringstring.toUpperCase()

對象

語言PHPJavaScript
空對象$obj = new stdClass();var obj = new Object();  // 或者 <br/>   person={firstname:"John",lastname:"Doe",age:50,eyecolor:"blue"};
對象屬性$obj = new stdClass(); <br/> $obj->a = 12;var myCar = new Object(); <br/> myCar.year = 1969; // js還可以以數(shù)組形式 <br/> myCar["year"] = 1969;
刪除屬性unset($obj->a);delete object.property  <br/> delete object['property']

正則

語言PHPJavaScript
創(chuàng)建正則表達(dá)式$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; <br/> var myRe = new RegExp("d(b+)d", "g");
POSIX 正則ereg ( string $pattern , string $string [, array &$regs ] ) : int(無)

數(shù)學(xué)函數(shù)

語言PHPJavaScript
隨機(jī)函數(shù)$re = mt_rand($min, $max); // 返回 min~max 之間的隨機(jī)整數(shù)Math.random() // 返回 0 ~ 1 之間的隨機(jī)數(shù)
x的y次方pow(x,y)Math.pow(x,y)

其他

語言PHPJavaScript
展開,可變函數(shù)function add(...$numbers) {  <br>    foreach ($numbers as $n) {  <br>        $sum += $n;  
   }
}
echo add(1, 2, 3, 4); // PHP5.6 開始支持
function myFunction(x, y, z) { }
var args = [0, 1, 2];
myFunction(...args); (ES6開始支持)
解構(gòu)$my_array = array('a'=>'Dog','b'=>'Cat','c'=>'Horse'); <br> list($a, $b, $c) = $my_array; <br>// php5, 如果是php7版本支持以下語法 <br> ['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);

感謝各位的閱讀!關(guān)于“PHP和Javascript語法對照示例”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

分享題目:PHP和Javascript語法對照示例
文章地址:http://muchs.cn/article28/pphgjp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、手機(jī)網(wǎng)站建設(shè)、面包屑導(dǎo)航、網(wǎng)站建設(shè)、網(wǎng)站內(nèi)鏈微信小程序

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)