php(一)
PHP (Hypertext preprocessor 超文本预处理器)
1.环境工具 Xampp等工具
2.apache配置
默认的Apache路径是 c:/xampp/apache 文件夹
可以修改root配置到 自己项目的文件夹 便于使用
路径如下 (修改后需要重启apache才能生效)
需要修改的路径如下(这两个路径要统一)
拓展 修改 localhost 本地伪装域名
3.语法
php 文件 默认以 .php 结尾
以 <?php 开始 以 ?> 结尾 (如果结尾没有其他语言就可以省略 ?>)
每行的结尾 必须有 ; 结尾 否则报错
echo
echo 将字符串 输出到页面 便于调试 (只能输出字符串,输出别的会报错)
拼接字符串
用 . 拼接字符串
变量
以 '$ + 变量名' 以字母下或划线开头 区分大小写
常量
低版本 用 define()函数定义 可以定义的类型有 boolean integer float 和 String
define ('HAHA','啊哈哈哈'); //定义的常量名 要是大写的字符串 echo HAHA; //输出的时候要常量名也要是大写的
高版本 可以用 const 定义 与 ES6同
注释
与 js相同 //单行注释 /**/段落注释
定界符
$str = <<<EOD //EOD 是随意些的 只要和后面保持一致即可
这里写的啥 输出的时候 输出的时候可以原样输出
保留缩进
EOD; //结束 与开始 必须贴最左侧写
echo "<pre>"; //保持格式
echo $str;//注意 推荐写 ?>进行结尾 如果不写结尾不要还有空格 会报错
数组
<?php
$hero = array('法师'=>'安其拉','坦克'=>'程咬金');//定义数组 低版本 5.几 ,没有 6.几版本 $hero = ['法师' => '安其拉','坦克'=>'程咬金'] //5.4以后的版本定义数组的方法 现已7. echo '<pre>'; //格式化输出,便于观察 print_r($hero); //打印数组 var_dump($hero); //打印 带类型 ?>
多维数组
$hero = [ '法师' =>[ '安其拉', '妲己', '王昭君', ], '坦克' => [ '程咬金', '项羽', '张飞', ], ]; $fashi = $hero['法师']; print_r($fashi);
遍历数组
一维数组
<?php $hero = ['安其拉','陈咬金','项羽'];//定义数组 for ($i = 0; $i < count($hero); $i++) { //for 循环 echo "<li>". $hero[$i] ."</li>";//用 . 拼接字符串 }; ?>
<?php $hero = ['法师'=>'安其拉','坦克'=>'陈咬金'];//定义数组 foreach($hero as $key => $value) { //foreach 循环 这个用的多一些 echo '类型---'. $key . '英雄---' . $value .'<br>'; } ?>
多维数组
$hero = [ '法师' =>[ '安其拉', '妲己', '王昭君', ], '坦克' => [ '程咬金', '项羽', '张飞', ], ]; foreach($hero as $leixing => $list) { echo '<br>' . $leixing . '<br>'; // for($i = 0; $i < count($list); $i++) { // echo $list[$i]; // } foreach($list as $name) { echo 'name' . $name; } } ?>
PHP页面与HTML页面混编 各行换色 gehuanghuanse.php
<!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> .pink{ background: pink; } table,tr,td{ border: 1px solid red; } </style> </head> <body> <table> <?php for($i = 0; $i < 20; $i++) { ?> <tr <?php if ($i % 2 === 0 ) {echo "class='pink'";}?>> <td>00</td> <td>01</td> <td>02</td> <td>04</td> </tr> <?php }; ?> </table> </body> </html>
自定义函数
<?php function fun($name){ echo 'run'.$name; } fun('伟斌');//===>run ?>
简单的面向对象
<?php class Foo { public function fun1() { echo 'fun1'; } static function fun2() { echo 'fun2'; } } var oFoo = new Foo; oFoo->fun1(); oFoo->fun2(); ?>
简单的api
<?php //用户信息 class User { public static function info() { $info = [ 'id' => 1, 'name' => 'weibin', 'age' => '15', 'password' => '123456', 'sex' => '1', ]; return json_encode($info); //json_encode() 编码 json_decode()解码 } } $userinfo = User::info(); //静态的类 可以不new 直接用 :: 来访问 print_r ($userinfo); ?>