首頁  >  文章  >  web前端  >  一起看 PHP Javascript 語法對照

一起看 PHP Javascript 語法對照

coldplay.xixi
coldplay.xixi轉載
2021-01-11 09:51:401473瀏覽

一起看 PHP Javascript 語法對照

相關免費學習推薦:javascript##(視頻)

PHP、JavaScript 語法對照、速查

一起看 PHP Javascript 語法對照

全端工程師看過來,學的計算機語言多了,往往會把不同語言的各函數搞混。身為全端PHPer,往往PHP、JavaScript 語法傻傻分不清楚,百度一下,查手冊要網速。不如收藏這篇文章,印出來,貼到一旁快速查閱。

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

編碼風格

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

變數聲明

語言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 物件#為定義變數nullundefined#

變數轉換

boolVal = Boolean('')intVal = Number("314")
intVal = parseInt("3.14")floatVal = Number("3.14")
flotaVal = parseFloat("12")str = String(123)
str = (123).toString()(需要多行函數完成)let arr = ['yellow', 'white', 'black'];
let obj = { ...arr}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 = (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;

運算子JavaScriptre = isMember  ? 2.0 : '$10.00'
語言 PHP
#三目(三元)運算 $a = $a ? $ a : 1;//第一種
$a = $a ? : 1;//第二種PHP5.3支持
合併運算子 $a = $a ?? 1; //  PHP7支援

陣列JavaScriptb = [1,2,3]var mycars=new Array()
mycars[0]="Saab"
mycars[1]="Volvo"
mycars[2]=" BMW"var mycars = new Array("Saab","Volvo","BMW")
語言 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

循環JavaScript for (var i=0; i {
document.write(cars[i]);
}var person= {fname:"John",lname:"Doe",age:25};
for (x in person)  // x 為屬性名稱 {
txt=txt person[x];
}while (i{
x=x "The number is " i "";
   i ;
}do
{
   document.write(i);
  i ;
}
while ( i
#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 ;
}
#do while 循環 do {
   $i ;
   echo  $i;
} while ($i
######

本文來自

陣列函數

$re = array_shift($arr1);re = arrayObject.shift()在陣列的開頭新增一個或更多元素# array_unshift($arr1, $var1);len = arrayObject.unshift(newele1)$newArr = array_splice($arr1,$start,$len);sort($arr1);#array_reverse(&$ arr, $keepKeys = true);
#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)
刪除陣列的第一個元素並傳回
##從已有的陣列中傳回選定的元素
#newArr = arrayObject.slice(start,end)

#排序

arrayObject.sort(sortByFunc = null) 顛倒數組中元素的順序
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;< ;br/>}
console.log(numbers.reduce(getSum));
始於ECMAScript 3#############用回呼函數過濾陣列中的單元######function odd($var) {
   // returns whether the input integer is odd
   return($var & 1);
br/>br/> ;}
$array1 = array("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=> ;5);
echo "Odd :\n";
print_r(array_filter($array1, "odd"));######function isBigEnough(element) {< ;br/>  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';< ;br/> (同樣的在雙引號中可以使用轉義字元)#############多行字元######$bar =    foo
bar
EOT;
######var tmpl ='
   !!! 5
 />    !!! 5
   html;  ;br/>; ##str1 str2############

字串函數

語言 #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)

其他

##JavaScriptJavaScript展開,可變函數echo add(1, 2, 3, 4); // PHP5.6 開始支援 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 ;console.log(mouth);
#語言 PHP

function add(...$numbers) {  
   foreach ($numbers as $n) {          $sum = $n;  
   }
}

function myFunction(x, y , z) { }
var args = [0, 1, 2];

var date1 = [1970, 2, 1];
[ year, mouth ]= date1;
var date2 = {year: 1980, mouth: 3, day: 21};
({ mouth } = date2);
console.log(date1);
console.log(year);

#歡迎大家收藏,如果你覺得需要補充的地方,請留言。 ###

以上是一起看 PHP Javascript 語法對照的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除