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);

?>

 

posted @ 2018-03-18 14:56  清汤不加辣  阅读(117)  评论(0编辑  收藏  举报