Blogger Information
Blog 119
fans 3
comment 1
visits 94624
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
PHP基础变量命名和变量类型-PHP培训十期线上班 学号:510251 01月03日作业
赵大叔
Original
661 people have browsed it

PHP基础入门

一、编程基础

1、计算机如何表示信息?

计算机中的数据代码都是通过二进制表示。(逢2进1)

2、计算机如何区分数据和代码?

任何需要执行的程序(代码), 都必须事先保存到计算机的内存中。
内存: 理解为宾馆的客房,客房有客人, 和房号, 客人就是数据, 房号就是地址编号(变量名)
计算机将信息进行分段存储, 分为二部分: 代码段, 数据段, 将数据和代码分别存入
在访问的时候, 由操作系统提供的保护机制, 防止越界访问(电脑蓝屏)

3、数据与代码在程序中如何体现?

程序中的数据和代码。
数据: 变量表示, 放在数据段
代码: 函数表示, 放在代码段

  1. //数据: 变量表示, 放在数据段
  2. $site = 'php.cn';
  3. //代码: 函数表示, 放在代码段
  4. function get_site($webSite)
  5. {
  6. return $webSite . '欢迎您';
  7. }
  8. // 调用函数, 指令就是一条一条的进入到cpu
  9. echo get_site($site);

代码解析:

二、PHP基础

1、php运行原理

  • PHP: 超文本预处理语言
  • PHP: 是一种可以嵌入到HTML文档中的服务器端脚本语言
  • PHP也是使用标签嵌入到HTML文档中,和css/js是一样的
  • <?php: 起始标签
  • ?>: 结束标签
  • html文档中一旦嵌入到php代码,那必须将扩展名由.html更新为.php
  • 浏览器并不能直接解析HTML文档中的php代码
  • 如果要解析html中的php代码,需要在web服务器中安装php解释器(php.exe)

2、echo 指令

  • echo: 是php指令,不是函数,可以指定的内容,输出到默认的终端上显示,通常就是浏览器的窗口
  • echo: 输出的内容可以是纯文本, 纯文本中间是可以嵌入html代码,也可以打印一个或多个变量
  • echo: 无返回值
  • 与echo 功能类似的还是一个print,也是指令,不是函数,但有返回值
  • print只支持一个参数
  • echo , print 不是函数, 可以用圆括号, 也可不用
    echo ('abc');

3、PHP语法

  • php使用的是一对<?php ... ?>标签嵌入到html代码中
  • php的结束标记?>, 是可以省略的, 但是并不是任何时候都可以省掉的
  • 当只有php代码的时候, 推荐不要写结束标记?>
  • 当php与html混编的时候, 就不能省略,必须写上结束标记

  • 纯php代码

  1. <?php
  2. echo 'php.cn';
  • html 与 php 的混编
  1. <body>
  2. <p>Hello</p>
  3. <?php
  4. echo '<p>php.cn</p>';
  5. ?>
  6. <h2>php中文网</h2>

重要提示:

  • 无论是纯php还是和html混编, 只要存在php代码,文件扩展名就必须是.php
  • 只要是扩展名为.php的文件,就必须在服务器的环境下远行,本地访问无效

注释

  • 注释的作用: 起到代码功能描述, 辅助阅读,方便维护
  • 注释会被php解释器忽略掉, 并且不会出现在生成的html代码中
  • 注释也有二种:
    • 单行: #, //
    • 单行或多行: /* 一行或多行的注释文本 */

三、PHP变量

1、变量的作用

  • 程序中总会有一些数据, 需要反复使用, 将它们临时保存到一个变量中
  • 变量实现了数据的复用 (函数实现了代码的复用)
  • 与其它语言不同之处, php变量使用前不要声明——php没有变量声明语句,直接赋值
  • 所谓变量声明, 可以简单的理解为:向内存申请一块空间,用来存储数据, 变量名就是内存地址的编号
  • 赋值:第一次要初始化, 第二次叫更新/修改
    1. $a = 100;

标识符:命名规范:,只允许使用字母,数字和下划线,且不能以数字开头

PHP变量三要素

  • php的变量名与普通的标识符是不一样, 必须要用$开头
  • 必须满足php标识符的命名规范字符串, 数字或下划线组成,并且不能以数字开始
  • 变量名严格区分大小写(PHP函数不区分大小写)$username, $userName
    变量$9a非法,不能以数字开始

  • 除了用户自定义变量, 系统为了方便用户, 还预定义一些变量

  • 预定义变量通常可以反映程序的状态,例如服务器变量, 请求变量, 不受作用域限制
  1. //预定义变量
  2. echo '脚本名称: ' . $_SERVER['SCRIPT_NAME']. '<br>';
  3. echo '浏览器: ' . $_SERVER['HTTP_USER_AGENT']. '<br>';
  4. echo '服务器: ' . $_SERVER['SERVER_SOFTWARE']. '<br>';
  5. echo 'GET请求参数: ' . $_GET['id'];
  6. echo '<hr>';
  7. $table;
  8. if (is_null($table)) {
  9. echo '$table 的值 null';
  10. }

2、变量的类型:(任何一个变量一定是属于某种数据类型)

  • php是弱类型语言, 变量的类型, 完成由它的值来确定
  • 变量值的类型, 根据存储方式, 分为三类: 原始类型, 复合类型, 特殊类型

    为什么变量数据有类型

    (1、)操作的要求
  • 只有先明确了数据的类型, 才能定允许的操作
  • 例如, 数值允许进行算术运算, 字符串不能进行算术运算
    100 + 30 = 130; //有意义
    abc - qer //无意义
(2、)存储的要求
  • 只有先明确了数据类型, 才能正确的分配内存空间来保存它
  • 很明显, 数值,字符中, 布尔值,它们占用的空间肯定不一样的

基本类型

  • 数值: 100, 3.14, -9.8
  • 字符串: 'admin', "php.cn", 需要用单引号或双引号做为定界符进行封装。单引号不解析变量;双绰号解析变量
  1. <?php
  2. //双引号字符串中的变量
  3. $name = '朱老师';
  4. //单引号字符串中的变量不会被解析
  5. echo '我是:$name'. '<br>';
  6. //双引号字符串中的变量会被解析
  7. echo "我是:$name". '<br>';
  8. //{}定界符
  9. echo "我是:${name}abc". '<br>';
  10. //双引号中特殊字符会被解析
  11. /*\t-制表符,四个空格
  12. \" \" 转义
  13. */
  14. echo "This\t 'is' a\t \"demo\"";
  15. //大段字符串的输出,<<<Heredoc Heredoc; 功能相当于双引号,用于代码中有大量双引号时
  16. //"<a href=\"www.php.cn\" id=\"abc\">xxxx</a>"
  17. echo <<<DEREDOC
  18. <h3 style="color: red">"PHP\t中文网"{$name}</h3>
  19. HEREDOC;
  20. echo <<< "HELLO"
  21. <h3 style="color: green">"PHP\t中文网"{$name}</h3>
  22. HELLO;
  23. echo '<hr>';
  24. // nowdoc: 功能与单引号创建的字符串类似
  25. echo <<< 'NOWDOC'
  26. <h3 style="color: green">"PHP\t中文网"{$name} 'php真香'</h3>
  27. NOWDOC;
  • 布尔型: 只有真,假二个值true | false,通常用在逻辑判断中

取值范围:
每种数据类型的取值范围不一样
存储方式:

  • 栈: 定长的存储单元, 整数4-8个字节, 字符串的入口地址放进去
  • 堆: 不定长的存储单元, 数组, 对象,字符串本身

复合类型

类型说明:

  • 一个变量名对应一个值: 单值类型/标量类型
    $name = 'peter zhu'; $gender = 'male';
  • 一个变量名与多个值对应: 多值类型/复合类型: 数组/对象

将变量输出的方式:

  • echo :回显,无返回值
  • print :有返回值
  • print_r
  • var_export():可以生成变量的php源代码的字符串表示
  • var_dump:打印出变量详细信息,支持一次查询多个
  1. <?php
  2. $name = 'perter zhu';
  3. $age = 30;
  4. $isMarried = true;
  5. //单值读取
  6. //echo 回显,无返回值
  7. echo '年龄:' .$age . '<br>';
  8. echo $name .'年龄:' .$age . '<br>';
  9. echo $name ,'年龄:' ,$age , '<br>';
  10. echo '姓名:'.$name.'<br>';
  11. //[]是数组
  12. echo '姓名的第一个字母:' .$name[0].'<br>';
  13. //推荐{}
  14. echo '姓名的第一个字母:' .$name{0}.'<br>';
  15. print('年龄:' .$age . '<br>');
  16. //print 有返回值
  17. echo print('年龄:' .$age . '<br>');
  18. echo '<hr>';
  19. // 第二个参数true, 不是输出, 而是返回return
  20. echo print_r($name, true);
  21. echo '<hr>';
  22. // 复合数据, 数组
  23. $data = range(1,20,2);
  24. // 数组
  25. $result = print_r($data, true);
  26. // 字符串
  27. //echo gettype($result);
  28. //print_r($result);
  29. echo '<pre>' . $result . '</pre>';
  30. echo '<hr>';
  31. echo $name . '<br>';
  32. // var_export(): 可以生成变量的php源代码的字符串表示
  33. var_export($name);
  34. echo '<pre>' . var_export($data, true) . '</pre>';
  35. //打印出变量详细信息,支持一次查询多个
  36. var_dump($name, $age, $isMarried);

  • 复合类型:可以理解来原始类型的PLUS版, 通常是由一个或多个原始类型的值组成
  • 复合类型有二种类型: 数组对象

  • 数组

  • 数组中的元素必须使用特殊的语法进行访问:变量名+键名,$arr[2],$user['id']
  • 如果键名是数值,称为:索引数组, 如果键名是连续的正整数, 可以省略键名
  • 如果键名是字符串, 称为关联数组

  • 对象

  • 对象是由new指令,调用一个称为构造函数的一个特殊函数创建,或者实例化一个来创建
  • 对象的成员称之为属性方法,使用变量名+成员指向符
  • $obj->table, 或者$obj->getEmail()

特殊类型

  • 所谓特殊,是指它的值比较特殊, 通常不会参与到运算中, 或者运算结果无意义
  • 特殊类型有二种: null, resourece资源类型
  • null: 称为空类型, 当一个变量没有被初始化的时候,默认就是null
  • resourece资源类型, 例如一个文件, 一张图片, 一个数据库的连接

类型转换

  • 查询: gettype($data)
  • 设置: settype($data, 'string'), 这是永久性的
  • 强制: intval($data), strval($data), 这种转换是临时性,原始类型并不改变
  • 判断: is_int(), is_string(), is_array(), is_object(),is_null()
  • 自动: 当操作符二边的类型不一致的时候, 会触发自动转换机制
Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:你就是将二天的内容进行了整合, 不错的
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post