PHP, comparaison de syntaxe JavaScript, référence rapide
Les ingénieurs full-stack ont examiné et appris de nombreux langages informatiques, et ils confondent souvent les fonctions de différents langages. En tant que PHPer full-stack, la syntaxe de PHP et JavaScript est souvent floue. Je dois effectuer une recherche sur Baidu et consulter le manuel pour connaître la vitesse d'Internet. Pourquoi ne pas ajouter cet article à vos favoris, l’imprimer et le mettre de côté pour une référence rapide.
Recommandations associées : "Tutoriel vidéo PHP" "Tutoriel JavaScript avancé"
Certaines fonctions de mappage de tableaux de JavaScript sont implémentées par jQuery . Après ES6, une implémentation officielle a été publiée. Les fonctions liées aux tableaux et aux chaînes de PHP sont nommées de manière aléatoire, ce qui facilite la confusion entre ces trois éléments.
语言 | 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); |
boolVal = Boolean(‘’) |
转 int | $bar = (int) $foo; $bar = (integer) $foo; $bar = intval($foo); |
intVal = Number(“314”) intVal = parseInt(“3.14”) |
转 float | $bar = (float) $foo; $bar = (double) $foo; $bar = (real) $foo; $bar = floatval($foo); |
floatVal = Number(“3.14”) flotaVal = parseFloat(“12”) |
转换为 string | $bar = (string) $foo; $bar = strval($foo); |
str = String(123) str = (123).toString() |
转换为 array | $arr = (array) new stdClass(); | (需要多行函数完成) |
转换为 对象 | $obj = (object) array(‘1’ => ‘foo’); | let arr = [‘yellow’, ‘white’, ‘black’]; let obj = {…arr} |
时间戳转日期 | $date = new DateTime(); $date->setTimestamp(1171502725); |
var date = new Date(1398250549490); |
字符转日期 | $dateObj = new DateTime($dateStr); | var myDateObj = new Date(Date.parse(datetimeStr)) |
转换为 空 | (unset) $var; 不会删除该变量或 unset 其值。仅是返回 NULL 值而已 | |
获取类型 | $varType = gettype($var); | varType = typeof myCar |
类判断 | $boolRe = $a instanceof MyClass; | boolRe = a instanceof MyClass new Date().constructor === Date |
语言 | PHP | JavaScript |
---|---|---|
当前文件 | $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 : ‘.00’ |
合并运算符 | $a = $a ?? 1; // PHP7支持 |
语言 | PHP | JavaScript |
---|---|---|
基本 | $a=array(0 => 1, 1 => 2,4,5,6); $array = [ “foo” => “bar”, “bar” => “foo”]; // PHP 7语法 |
b = [1,2,3] |
追加 | $arr = array(); $arr[key1] = value1; $arr[key2] = value2; |
var mycars=new Array() mycars[0]=”Saab” mycars[1]=”Volvo” mycars[2]=”BMW” |
new | var mycars = new Array(“Saab”,”Volvo”,”BMW”) |
语言 | PHP | JavaScript |
---|---|---|
for 循环 | for ($i=1; $i<=5; $i++) { echo $i ; } | for (var i=0; i < cars.length ; i++) { document.write(cars[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); |
Langage | PHP | JavaScript |
---|---|---|
Obtenir le nombre d'éléments dans le tableau | count($arr); | arrayObject.length |
Épisser deux chaînes | array_merge($arr1, $arr2); | arr1.concat(arr2) |
Supprimer les éléments du tableau | unset($arr[$key]); | delete arr1[key] |
Splice le tableau en une chaîne | implode(', ', $arr1); | arr.join(',') |
Supprimer et renvoyer le dernier élément du tableau | $re = array_pop($arr1); | re = arrayObject.pop() |
Ajouter un élément à la fin du tableau | array_push($arr1) , $var1); | len = arrayObject.push(newele1) |
Supprimez le premier élément du tableau et renvoyez-le | $re = array_shift($arr1) ; | re = arrayObject.shift() |
Ajouter un ou plusieurs éléments au début du tableau | array_unshift( $arr1, $var1) ; | len = arrayObject.unshift(newele1) |
Renvoyer l'élément sélectionné du tableau existant | $newArr = array_splice($ arr1,$start,$len); | newArr = arrayObject.slice(start,end) |
tri | tri($ arr1); | arrayObject.sort(sortByFunc = null) |
Inverser l'ordre des éléments dans le tableau | array_reverse(&$arr, $ keepKeys = true); | arrayObject.reverse() |
chaque fonction | 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 ); }); // ↑ C'est la méthode jQuery const items = ['item1', 'item2', 'item3 ']; items.forEach(function(item, index, arr){ console.log('key:' + index + 'value:' + item); }); (Introduit dans ES6) |
La fonction de rappel réduit de manière itérative le tableau à une valeur unique | function sum($carry, $item) { $carry += $item; return $carry; } $a = array(1, 2, 3, 4, 5); var_dump(array_reduce($a, "somme")); / / int(15) | var numéros = [65, 44, 12, 4]; fonction getSum(total, num) { return total + num; } console.log(numbers.reduce(getSum)); Démarré dans ECMAScript 3 |
Utiliser la fonction de rappel pour filtrer les cellules du tableau | function odd($var ) { // renvoie si l'entier d'entrée est impair return($var & 1); } $array1 = array("a"=> 1, "b"=>2, "c"=>3, "d"=>4, "e"=>5); echo "Odd :n"; array_filter( $array1, "impair") ; |
function isBigEnough(element) { élément de retour >= 10; } var filtered = [12, 5, 8, 130, 44].filter(isBigEnough); \ JavaScript 1.6 introduit les |
语言 | 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 | 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 = “ tnr x0B” ] ) : 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 |
---|---|---|
函数参数 | $argv = func_get_args ( void ); | var argv = arguments \ 直接一个函数内对象 |
Langue | PHP | JavaScript | <🎜>|||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Obtenir la longueur des caractères<🎜> | strlen($ str );<🎜> | string.length<🎜><🎜> | |||||||||||||||||||||||||||||||||||||||||||||||||||||
Obtenir la sous-chaîne<🎜> | substr ( string $string , int $start [, int $length ] ) : string<🎜> | string.substr(start,length) str.slice(1,5);<🎜>< 🎜 > | |||||||||||||||||||||||||||||||||||||||||||||||||||||
Utiliser une chaîne pour diviser une autre chaîne<🎜> | $pizza = “pièce1 pièce2 pièce3 pièce4 pièce5 pièce6”; $pièces = exploser(“ “, $pizza); echo $pièces[0]; // pièce1< 🎜>< td style="border-color: rgb(221, 221, 221);">var str="Comment vas-tu aujourd'hui ?"; var n=str.split(" "); sortie : Comment allez-vous,aujourd'hui ?<🎜><🎜> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supprimez les caractères au début et à la fin de la chaîne Caractères vides (ou autres caractères)<🎜> | trim ( string $str [, string $character_mask = " tnrObjet
Régulier
Fonction mathématique
Pack, espace
Autres
Tout le monde est invité à récupérer. Si vous pensez que quelque chose doit être ajouté, veuillez laisser un message. |