🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] >[success] # PHP <br/> ~~~ 这里讲到的'PHP'都是为了学习'ajax'做迎合。 ~~~ <br/> >[success] ## 创建php页面 <br/> ~~~ 只需要创建一个xxx(必须是英文)'.php'的文件即可,页面内容需要写一个'PHP标签' ~~~ ~~~ <?php // 单行注释 /** * 多行注释 */ ?> ~~~ <br/> >[success] ## 输出语句echo <br/> ~~~ <?php // echo是输出语句类似js里的innerText echo 'hello word'; // 英文 echo '你好 世界'; // 中文 ?> ~~~ <br/> >[success] ## 设置页面编码格式 <br/> ~~~ 英文是可以输出,如果输出的是'中文',显示到页面上就是'乱码'的,需要加如下内容: ~~~ ~~~ <?php // 设置页面编码格式,使用PHP函数,php内置函数4000多个,基本上想到的都会有,这里需要设置成utf-8,不然中文乱码 header('content-type:text/html;charset=utf-8'); // echo是输出语句类似js里的innerText echo 'hello word'; // 英文 echo '你好 世界'; // 中文 ?> ~~~ <br/> >[success] ## 定义变量 <br/> ~~~ 在'PHP'中'定义变'量只需要在前面加个'$'变量名,即可 ~~~ ~~~ <?php // 设置页面编码格式 header('content-type:text/html;charset=utf-8'); // 定义变量 $heheda = '你好 世界'; // 字符串类型 $num = 123; // number类型 $pi = 3.141592653; // 小数 $arr = array('榴莲','西蓝花','鸡蛋'); // 定义数组 $male = false; // 布尔值 // 输出变量 echo $heheda; echo '<br/>'; echo $num; echo '<br/>'; echo $pi; echo '<br/>'; echo $arr[0] echo '<br/>'; if($male == false){ echo '奥利给'; } else { echo '一给喔里giaogiao'; } ?> ~~~ <br/> >[success] ## 条件语句 <br/> ~~~ <?php // 设置页面编码格式 header('content-type:text/html;charset=utf-8'); // 声明变量 $day = '礼拜一'; // 条件语句 switch($day){ case '礼拜一': case '礼拜二': case '礼拜三': case '礼拜四': case '礼拜五': case '礼拜六': echo '上班班'; break; default: echo '上班班'; break; } // 或者这样写: if($day == '礼拜一' || $day == '礼拜二'){ echo '上班班1'; }else { echo '下班了奥利给'; } ?> ~~~ <br/> >[success] ## 循环语句 <br/> ~~~ <?php // 设置页面编码格式 header('content-type:text/html;charset=utf-8'); // 1. for循环 for($i=0;$i<10;$i++){ echo '奥利给'.$i; // 字符串拼接用.$变量名 echo '<br/>'; } // 2. while $num = 0; while($num < 10){ echo '哈哈'.$num; echo '<br/>'; $num++; } // 3. do while 最起码执行一次 do { echo('进来了吗'); } while(false) ?> ~~~ <br/> >[success] ### 循环数组 <br/> ~~~ <?php // 设置页面编码格式 header('content-type:text/html;charset=utf-8'); // 定义数组 $foodArr = array('榴莲','西蓝花','鸡蛋'); // 获取数组的元素,下标从0开始 echo $foodArr[1]; echo '<br>'; // 打印数组所有内容 // echo $foodArr; // 这种方式打印不出来数组内容,返回字符串‘Array’ // 直接输出复杂类型 print_r($foodArr); // Array ( [0] => 榴莲 [1] => 西蓝花 [2] => 鸡蛋 ) echo '<br>'; // 遍历 PHP中数组没有.length的写法 // 获取数组长度用count('数组名称') for($i=0;$i<count($foodArr);$i++){ echo '<br>'; echo $foodArr[$i]; } ?> ~~~ <br/> >[success] ### 循环数组(js对象) <br/> ~~~ 这里为什么还是循环数组呢,因为'PHP'中分好几种数组: 1. 正常有'index索引'的数组 2. js中的'对象键值对'方式,在PHP中也被称之为数组 ~~~ ~~~ <?php // 设置页面编码格式 header('content-type:text/html;charset=utf-8'); // 定义数组 $foodArr = array('name'=>'吴京', 'film'=>'战狼', 'wife'=>'谢楠'); // 获取内容 echo $foodArr['wife']; // 谢楠 // 输出完整数组 echo print_r($foodArr); // 遍历数组 // $key 键 // $value 值 foreach ($foodArr as $key => $value) { echo '<br/>'.$key.'------'.$value; } ?> ~~~ <br/> >[success] ## PHP输出HTML页面 <br/> ~~~ PHP可以用'字符串拼接'来实现拼接好'html结构'返回给浏览器。 下面有两种方式,'第一种'(不推荐),的样式是直接在标签上拼接'style',可读性差,看着也不方便, '第二种','PHP'可以和'HTML'混合在一起使用 ~~~ <br/> >[success] ### 方式1 <br/> ~~~ <?php // 设置页面编码格式 header('content-type:text/html;charset=utf-8'); // 二维数组 $starArr = array( array('name'=>'刘德华', 'film'=>'无间道', 'friend'=>'曾志伟'), array('name'=>'吴京', 'film'=>'战狼2', 'friend'=>'张翰'), array('name'=>'黄渤', 'film'=>'疯狂的石头', 'friend'=>'林志玲'), array('name'=>'汪峰', 'film'=>'春天里', 'friend'=>'那英') ); // 循环 for($i=0;$i<count($starArr);$i++){ echo '<h2>明星:<span style="color:red;font-size:14px;">'.$starArr[$i]['name'].'</span>'.'出演了:'.$starArr[$i]['film'] .'好朋友是:'.$starArr[$i]['friend'].'<br/></h2>'; } ?> ~~~ <br/> >[success] ### 方式2 <br/> ~~~ <?php // 声明对象数组 $arr = array( array('name'=>'刘德华'), array('name'=>'吴京'), array('name'=>'黄渤'), array('name'=>'汪峰') ); ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <style> p{ font-size: 16px; color: red; } </style> </head> <body> <?php foreach ($arr as $key => $val) { echo '<p>' . $arr[$key]['name'] . '</p>'; } ?> </body> </html> ~~~