PHP -ゞ 阿白同学的学习笔记

PHP学习笔记 - 01 - web2.0 - 网络营销

@

一、 前言

  1. 了解两个学习网站:

[ゞ 阿白同学 的 补充 ]:/w3cschool在线教程

  1. web2.0 营销 是什么?干什么?

    • web2.0:第二代互联网 → 以用户交互为特征,让普通用户参与到互联网的建设。

    • 比如:论坛、微博、微信等等各种社交媒体。

    • 营销,就是把商品推荐给目标客户。

    • 整合在一起:利用新一代互联网技术把商品推荐给目标客户!

      既要学习新一代互联网技术,还要学习利用技术销售商品的内容!

  2. 利用新一代互联网技术卖货的方式、方法、渠道有哪些?

    • 三大主流的电商平台
    • 以微信、微博为载体的社交媒体平台
    • 以抖音、快手、西瓜、火山小视频为载体的短视频平台
    • 以及围绕以上平台而展开的各种微商、微店、微购
  3. PHP主要干什么?

    • PHP非常适合做网站

    • PHP非常适合做移动APP的接口

    • PHP适合做服务器的脚本

  4. 为什么选择PHP?

    • 功能强大,学习难度低!

二、 开始(借助菜鸟教程平台练习)

1. Hello World —— 第一个案例

<!DOCTYPE html>
<html>
<body>
<?php
echo "Hello World!"
?> </body>
</html>
  • PHP的开发工具:Phpstorm(建议)、eclipse、editplus等等
  • PHP的运行环境:在服务器端运行时的环境中运行
    • 常见的服务器:Apache、Tomcat
    • 推荐使用:wampserver集成套件工具包
      • 它包含:Apache服务器、PHP、MySQL、PHPMyadmin

2. PHP变量

  • 规则:

    • 声明变量:$ + 变量名

    • 变量名必须以字母或者下划线开始

    • 变量名只能包含数字、字母和下划线

    • 变量名是区分大小写

      PHP语句&PHP变量都是区分大小写的

  • 实例:

    <?php
    $x = 5;
    $y = 6;
    $z = $x + $y;
    echo $z
    ?>
  • PHP是一门弱类型语言

    实例中发现:

    • 不必向PHP声明该变量的数据类型

    • PHP会根据变量的值,自动转换为正确的数据类型

    在强类型的编程语言中,我们必须在使用变量前先声明变量的类型和名称

    • 普及:强类型语言 & 弱类型语言

      • 强类型语言:不同类型之间的变量必须通过一定规则转换!

        ​ Java、C、C++、C# 等

      • 弱类型语言:某个变量可以在不同的时间点,被赋予不同类型的值

        ​ PHP、JavaScript 等

  • 作用域 - 有效范围(全局变量/局部变量)

    <?php
    $x=5; // 全局变量 function myTest() // 自定义一个函数
    {
    $y=10; // 局部变量
    echo "<p>测试函数内变量:<p>";
    echo "变量 x 为: $x";
    echo "<br>";
    echo "变量 y 为: $y";
    } myTest(); // 调用函数 echo "<p>测试函数外变量:<p>";
    echo "变量 x 为: $x";
    echo "<br>";
    echo "变量 y 为: $y";
    ?>

    调试结果为:

    测试函数内变量:
    
    变量 x 为:
    变量 y 为: 10 测试函数外变量: 变量 x 为: 5
    变量 y 为:

    为 “空” 的原因:$x变量在函数外定义,无法在函数内使用

    • 如果要在一个函数中访问一个全局变量,需要使用 global 关键字 or global 数组

做一做:用PHP写一个 九九乘法口诀表


3. PHP - echo/print

  • echo主要用于输出字符串
  • print主要用于输出变量

4. PHP字符串变量

  1. php字符串可以用单引号,也能用双引号(大部分使用,除特殊情况)

    • 单引号和双引号使用区别:双引号字符串可以引用变量的值,作为字符串的输出内容,而单引号不能

    • 特殊情况:

      比如:在与静态html语句嵌套时,如果html属性用了双引号,其中的动态php语句,需要用单引号

  2. 并置运算符 - 字符串连接运算符

    • <?php
      $x = 123;
      echo $x . "北京" . $x; // 用 一个小数点 连接
      ?>
  3. 常用字符串函数

    • strlen() - 计算字符串的长度

      • 这里需要注意:

        1. ASCII字符集(英文字符)一个字节存储;

        2. utf-8 字符集中的汉字一般都是3个字节;

        3. php运行时环境utf-8字符集

          所以:我们在利用 strlen() 计算长度时,一定要记得是字符串占用的字节数!

    • trim() - 去除字符串两端空格

    • ltrim() - 去除字符串前端空格

    • rtrim() - 去除字符串后端空格

    • str_replace() - 去除字符串任意位置空格

    • ……

    • 最重要的是:php string 参考手册

      • 在网页中实现显示空白的有:

        • 英文ASCII:空白
        • 中文:空白
        • 制表符
        • 回车符
        • 换行符
          • 注意PHP_EOL 是一个换行符 – 是系统定义的常量
  4. var_dump() 函数可以输出变量的值!


做一做:字符串“ ab cd ” 前面、中间、后面都有空格,利用字符串函数实现删除该字符串前面、中间、后面的空格?


5. PHP 运算符

  1. 算术运算中的除法和整除和取模

    • 整除可以用除法后取整 间接完成
    • 在php7中提供了 intdiv(10,3) 函数实现整除!
    • php5中实现整除:round(10/3);
  2. 赋值运算符

    • a . b 并置 连接两个字符串
    • a .= b a = a . b
  3. 递增递减运算符

    • 与其他语言一致!
  4. 比较运算符 - PHP的独特之处

    • 比较的结果:true false
    • x === y 绝对等于 类型和值都要相同,比较的结果才是true
    • x !== y 绝对不等于 与上个运算符逻辑相反!
  5. 逻辑运算符与其他语言中的逻辑运算符一样

  6. 数组运算符

    • + :将数组连接在一起
    • == :判断数组是否相同
  7. 三元运算符

    • 格式:

      (expr1) ? (expr2) : (expr3)
      // 对 expr1 求值为 TRUE 时的值为 expr2,在 expr1 求值为 FALSE 时的值为 expr3 expr1 ?: expr3 // >PHP 5.3
      // expr1 求值为 TRUE 时返回 expr1,否则返回 expr3
    • 实例:

      • // 在 PHP7+ 版本多了一个 NULL 合并运算符 ??
      <?php
      // 如果 $_GET['user'] 不存在返回 'nobody',否则返回 $_GET['user'] 的值
      $username = $_GET['user'] ?? 'nobody';
      // 类似的三元运算符
      $username = isset($_GET['user']) ? $_GET['user'] : 'nobody';
      ?>
  8. 组合比较符(PHP7+)

    • 语法格式:

      $c = $a <=> $b;

      解读:

      • 如果 $a < \(b**, 则 **\)c 的值为 -1
      • 如果 $a == \(b**, 则 **\)c 的值为 0
      • 如果 $a > \(b**, 则 **\)c 的值为 1

未完待续……

最新文章

  1. SQL SERVER几种数据迁移/导出导入的实践
  2. python 类型大小
  3. Web性能优化之动态合并JS/CSS文件并缓存客户端
  4. Unity-WIKI 之 DebugLine
  5. iOS 跳转至 指定 StoryBoard 中 指定的 Scene
  6. jQuery插件-jgcharts实现Javascript制作Google Charts
  7. Boost下载安装编译配置使用指南(含Windows和Linux
  8. C#之再议数组和集合
  9. 【LeetCode】2. Two Sum
  10. 从数据库、代码和服务器对PHP网站Mysql做性能优化
  11. JAVA_SE基础——70.Math类
  12. JsRender练习总结
  13. direction: rtl;
  14. centos 7创建ss服务(方式一)
  15. Qt代码创建分隔条
  16. HDUOJ-------2149Public Sale
  17. 在TFS 2013的迭代视图中修改工作项数目限制
  18. 在Ubuntu 18.04中安装Oracle Java JDK 8
  19. 使用 ExceptionDispatchInfo 捕捉并重新抛出异常
  20. php获取今日开始时间和结束时间

热门文章

  1. stm32F103C8T6通过写寄存器点亮LED灯
  2. 通过代码解释什么是API,什么是SDK?
  3. UNIAPP实现PDA扫码
  4. 虚拟 DOM 与 DOM Diff
  5. 小米 pro 笔记本双硬盘设置引导盘
  6. FreeMarker速查手册
  7. 今天才发现ThinkPad的触摸板简直好用!傻乎乎的自己
  8. PKUSC2022 游记
  9. 解放双手!推荐一款 GitHub 星标 8.2k+的命令行软件管理器,非常酷炫!
  10. Base64 编码知识,一文打尽!