PHP和javascript区别
1.使用范围
PHP既可以写服务端语言,又可以写在HTML页面中,写前端页面和交互
javascript只能用来书写前端页面和交互。
2.语法不同
- js中用点来连接下一级
var obj={a:1,b:2};
console.log(obj.a) //a
- PHP中用 -> 来连接下一级
class Box{
var $a=10;
function Box($_a){
$this->a+=$_a;
}
function play(){
echo $this->a;
}
}
$b=new Box(5);
$b->play(); //执行BOX下的play方法
- . 符号在PHP中是用来连接字符串的,相当于js中的+符号
- js定义变量用var和let ,PHP中用$(只要使用变量,前面必须加$)
- js变量名的定义是驼峰式命名规则,但是PHP中不区分大小写,所以用_(下划线)来区分单词
- PHP中函数执行完毕不会销毁,相当于js中的闭包
- PHP中获取全局变量的方法有两种,$GLOBALS["a"] a是函数外的全局变量. global $a 这局之后所有的变量a都是全局的
- 超全局变量 &_GET $_POST 用来获取表单提交的数据
$GLOBALS
$_SERVER 这种超全局变量保存关于报头、路径和脚本位置的信息。
$_REQUEST 用于收集 HTML 表单提交的数据。
$_FILES 从客户计算机向远程服务器上传文件。
$_ENV 通过环境方式传递给当前脚本的变量的数组。例如当前计算机名称
$_COOKIE 变量用于取回 cookie 的值。
$_SESSION 存储和取回 session 变量的正确方法是使用 PHP $_SESSION 变量
- 魔术变量 用于服务端打印日志(运行错误不能影响程序的执行,用这个来记录运行中遇到的错误)
__LINE__ 返回当前代码在php中的行数,用于调试php脚本;
__FILE__ 返回当前文件的完整路径(绝对路径)
__FUNCTION__ 返回当前函数的函数名
__CLASS__ 返回当前的类名
- PHP中打印用echo ,相当于js中的document.write("") ; PHP中还有print_r 只用来打印数组 var_dump 用来打印类型和值
- PHP的数据类型有 字符串、整数、浮点型、逻辑(布尔类型)、NULL、数组类型、对象类型 ;js中有字符串、整数(包括浮点型),布尔型、NULL,undefined,symbol
- js的判断类型有isNaN();PHP的判断类型有
is_int() 是不是整型;
is_double()是不是浮点数;
is_bool()是不是布尔值;
is_string()是不是字符串;
is_array()是不是数组类型;
- PHP中有随机数的方法
mt_rand(min,max);
- PHP的数组有两种:索引类型数组,关联型数组
$arr=[1,2,3,4]; //索引型数组
$arr1=array("morty"=>"wang","age"="18");
- PHP中数组的遍历用for循环 foreach as
$arr=[1,2,3,4];
for($i;$i<count($arr);$i++){ //for循环适用索引型数组
echo $arr[$i];
}
$arr1=array("morty"=>"wang","age"="18");
foreach($arr1 as $value){
echo $value;
}
foreach($arr1 as $key=>$value){
echo $key.":".$value;
echo "<br>";
}
最后,用PHP简单写个表格,具体看看和js的不同
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
table{
800px;
border-collapse: collapse;
}
td{
height:30px;
line-height: 30px;
text-align: center;
border: 1px solid #000000;
}
</style>
</head>
<body>
<?php
$arr=[];
array_push($arr,array("id"=>1001,"name"=>"电脑1","price"=>4000,"num"=>5,"total"=>20000));
array_push($arr,array("id"=>1002,"name"=>"电脑2","price"=>3000,"num"=>6,"total"=>18000));
array_push($arr,array("id"=>1003,"name"=>"电脑3","price"=>2000,"num"=>4,"total"=>8000));
array_push($arr,array("id"=>1004,"name"=>"电脑4","price"=>1000,"num"=>2,"total"=>2000));
array_push($arr,array("id"=>1005,"name"=>"电脑5","price"=>5000,"num"=>1,"total"=>5000));
array_push($arr,array("id"=>1006,"name"=>"电脑6","price"=>6000,"num"=>3,"total"=>18000));
echo "<table>";
for($i=0;$i<count($arr);$i++){
echo "<tr>";
foreach($arr[$i] as $key=>$value){
echo "<td>{$value}</td>";
}
echo "</tr>";
}
echo "</table>";
?>
</body>
</html>