01-PHP
<?php
   表示里面的代码是php代码
   所有的php文件都必须运行在服务器环境(Apache)
   php是一个弱类型的脚本语言 用于web的 后端开发
   它有着和JavaScript相似的语法 语法上会更严谨
   在定义变量时 不会数据类型进行约束 (弱类型语言的特点)
   语法规范:
   所有的语句必须以分号结束(没有分号会直接出错)
   设置响应头(让浏览器按照一定的规则对内容进行处理解析和排版)
   告诉浏览器 以html的标准来解析文档 字符集设置为 utf-8 
  header(‘content-type:text/html;charset=utf-8’);
   输出语句 用于输出字符串
  echo’
你好世界
‘;echo’你好’;
echo’
‘;
echo’世界’;
?>
   php 是一个弱类型语言
   在声明变量时 不需要对变量指定数据类型
   变量可以存储任意类型的数据
   变量的命名采用小驼峰命名法
   JavaScript创建变量使用关键字 var let const
   php创建变量 没有关键字
   但是php的中的所有变量 必须以 $ 开头
   $userName = ‘小明’;
   echo $userName;
   echo ‘
‘;
   在php语言中  . 是字符连接符
   echo ‘你好’.$userName;
   echo  ‘
‘;
   在php语言中 字符串 单引号和双引号是有区别的
   在双引号中 可以直接使用变量 这使得这种字符串语法类似于 JS中的 模板字符串
   echo “你好,我是$userName”;
  $user;
  $age = 15;
  $sex=”nan”;
  $n = null;
  $bool = true;
  $PI = 3.14;
   函数  var_dump()  输出并查看数据类型
  var_dump($user);
  var_dump($age);
  var_dump($sex);
  var_dump($n);
  var_dump($bool);
  var_dump($PI);
   ———————————————————-
  $arr = [2,3,5];
   输出数组的方法 var_dump()  或 print_r()
   var_dump($arr);
  print_r($arr);
02-php分支结构和循环结构
   分支结构(和JS完全相同)
   if-else
   switch-case
   $age = 13;
   if($age>=18){
     echo ‘成年人’;
   }else{
     echo ‘未成年人’;
   }
   $num = 1;
   switch($num){
     case 0:
       echo 0;
       break;
     case 1:
       echo 1;
       break;
     case 2:
       echo 2;
       break;
     default:
      echo ‘def’;
   }
   ——————————————————————
   循环结构(语法和JS完全相同)
   while
   do-while
   for
   $i = 3;
   while($i<10){
     echo $i++;
   }
   do{
     echo ‘hahah’;
   }while(false);
  for($i = 0;$i < 5;$i++){
    echo$i;
  }
03-php函数及数组
<?php
   变量名使用$开头 函数名不使用$开头
   php中的函数和JavaScript 完全相同
  functionmyFn($num){
    for($i = 2;$i<$num;$i++){
      if($num % $i == 0){
        returnfalse;
      }
    }
    returntrue;
  }
  if(myFn(17)){
    echo’是质数’;
  }else{
    echo’不是质数’;
  }
?>
 php中数组有两种使用方式
   索引数组
   二维数组
   外层数组是索引数组
   内层数组是关联数组
   如果是JS
   这种数据结构如何表达
   [{},{},{}]
   关联数组
   关联数组是一种无序数组(准确的来说 它是一种hash结构)
   hash结构指的是使用 键值对的形式存储数据
   数组中可以存放任意类型的数据 
   数组中成员排列是有序的(索引数组)
   每一个数组的成员都会对应一个索引值(index) 索引从0开始计算
   最大索引是数组元素成员数量-1
   不同于JS的是 PHP的数组没有length属性
   使用函数 count()  查看数组成员个数
   $arr = [1,3,2,5,2,2,3];
   print_r($arr);
   echo count($arr);
   for($i = 0; $i < count($arr) ;$i++){
     echo $arr[$i];
   }
   foreach 不是JS中传统的foreach  它类似于 JS中的 for-of 语法
   foreach($arr as $value){
     echo $value;
   }
   ————————————————————————-
   https:www.php.net/manual/zh/book.array.php
04-php数组API
   $result = array_push($arr,31);
   echo $result;
   rsort($arr);
   print_r($arr);
   $result = array_filter($arr,function($elm){
     return $elm%2;
   });
   print_r($result);
  $res = array_slice($arr,2,5);
  print_r($res);
$arr = array(
  ‘username’=>’小花’,
  ‘age’=>20,
  ‘sex’=>’女’
);
$phone = array(
  ‘phoneNumber’=>13677889999
);
$result = array_merge($arr,$phone); 合并(关联)数组
 print_r($result);
 json_encode()  将php中的关联数组和对象 转换成 json
$json = json_encode($result);
echo$json;
在php中 $arr = array(‘username’=>’小花’,)
=>相当于   :usename:小花
->相当于     .   $arr.username
05-渲染
  网站渲染
     1. 后端渲染
     动态网站(页面) 指的是 由 HTML+CSS+JS+后端语言(php,java,python,c#,go,javascript…) 组成的页面
     当用户在访问网页时 其实访问的是网站的web服务器(软件 apache tomcat iis …)
     web服务器会帮助用户找到响应的文件 和 对应语言的编译器(php java虚拟机 .net)
     编译器会将对应的文件 编译成 html 代码 然后响应给用户
     用户收到的是html代码 由浏览器负责渲染页面
     后端渲染指的是 后端向前端响应的内容 是 HTML
     浏览器 不认识 php 等后端语言 所以需要一个 翻译 翻译成浏览器认识的语言(HTML)
    $message = ‘你好世界!!!!’;
    $color = ‘red’;
     2. 前端渲染
     前端渲染 指的是 后端提供数据(JSON) 前端通过异步请求获得数据(JSON) 通过对数据的解析 将数据加载到页面(DOM操作)
  ?>
  
 
                         
                                

