Blogger Information
Blog 12
fans 0
comment 0
visits 10105
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
PHP 基本认识 变量定义与输出
星夜低语
Original
1197 people have browsed it

php基础

1. php 是什么

  • PHP: (PHP: Hypertext Preprocessor), 超文本预处理器的缩写
  • PHP 是开源的,免费的,运行在服务端的,用来动态生成网页数据的脚本语言
  • 所谓脚本语言,是指不需要编译,直接由解释器/虚拟机执行的编程语言

2. php 程序执行流程

  • php 程序是用 php 指令编写并由 php 解析器执行的代码
  • php 程序必须使用.php做为扩展名
  • php 程序可以使用标签方式嵌入到 html 文档中

执行流程哪下:

  1. 客户端请求服务器端的 php 程序
  2. 服务器端将 php 程序转发给 php 解释器执行
  3. php 解释器执行完毕将生成的 html 或其它内容返回到服务器
  4. 服务器将最终生成的 html 代码做为响应内容返回客户端

3. php 集成运行环境

初学者推荐使用集成环境,省去手工逐一安装配置麻烦

序号 集成环境 操作系统 描述
1 phpStudy Windows / Linux 中文,免费,功能全, 推荐
2 MAMP MacOS 英文,收费, 功能全, 推荐

4. php 程序文档

序号 组成 描述
1 <?php ... ?> PHP 代码标记
2 ; 分号 语句分隔符,代码块使用右大括号
3 空白符 合理使用空白符可增强代码可读性
4 注释 // 单行注释, /* 多行注释 */

php 标记之外的内容会原样返回客户端,如 html 代码

测试代码如下

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>测试PHP文档组成--<?php echo 'hello world';?></title>
  6. <style media="screen">
  7. h1{
  8. color:<?php echo 'red';?>;
  9. }
  10. </style>
  11. <script type="text/javascript">
  12. alert('hello world');
  13. </script>
  14. </head>
  15. <body>
  16. <h1>this is king show time<?php echo '^-^...';?></h1>
  17. </body>
  18. </html>

5. 打印结果

序号 指令 描述
1 echo 语言结构, 可查看多个变量
2 print 语言结构,功能与echo类似,区别是有返回值
3 print_r() 函数,以更容易理解的格式打印变量信息,常用于数组
4 var_dump() 函数,可查看一个变量更多信息,如类型
5 var_export() 函数,输出或返回一个变量的字符串表示(源代码)

实际工作中, echovar_dump()基本可以满足大多数需求

  1. <?php
  2. # php打印结果
  3. # echo和print不是函数,他是语言结构,指令
  4. $email = 'admin@php.edu';
  5. //echo
  6. echo $email, '<br>';
  7. //echo没有返回值
  8. echo print $email;
  9. //print,有返回值,如果成功就是返回1(true)
  10. echo '<hr>';
  11. // var_dump():函数
  12. // 函数必须用括号调用
  13. var_dump($email);
  14. //var_dump()不仅可以打印出来,还可以返回字符类型以及多少个字符
  15. echo '<hr>';
  16. var_export($email);
  17. // var_export返回php代码,比如动态生成一个数组,创建一个文件

echo 与 print 区别

  • echo - 可以输出一个或多个字符串

  • print - 只允许输出一个字符串,返回值总为 1

    注意:echo 输出的速度比 print 快, echo 没有返回值,print有返回值1。

6. 变量定义与规则

定义:变量是用于存储数据的容器

PHP 变量规则:
  • 变量以 $ 符号开始,后面跟着变量的名称

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

  • 变量名只能包含字母数字字符以及下划线(A-z、0-9 和 _ )

  • 变量名不能包含空格

  • 变量名是区分大小写的

  1. <?php
  2. //变量定义
  3. $txt="PHP中文网";
  4. # php变量是弱类型
  5. $var=100;
  6. var_dump($var);
  7. echo '<hr>';
  8. $var = 'hello';
  9. var_dump($var);
  10. //php没有变量声明的概念,它的类型由赋予他的值决定

6.1 值传递与引用传递

  • 引用赋值,&:取地址符,引用符

  • 相当于给原变量起了一个别名

  1. //值传递在函数范围内,改变变量值得大小,都不会影响到函数外边的变量值
  2. $a=100;
  3. // 只是将$a变量的值赋值给了一个新变量$b
  4. $b=$a;
  5. echo $a,'...',$b,'<br>';//结果100...100
  6. //引用传递在函数范围内,对值的任何改变,在函数外部也有所体现,因为传引用传的是内存地址
  7. $a = 200;
  8. $b = &$a;
  9. echo $a,'...',$b,'<br>';//结果200...200

值传递与引用传递的区别
按值传递中原来参数的值在调用其他函数之后还是原来的值,而引用传递则是改变了原来的值。按照按值传递的做法来传值时,如果需要原来的值发生改变,则需要在进行代码复制,若是值够大或者是一大串字符串时,会使代码比较多,重复,而引用传递则不需要复制PHP代码,对提高性能这一个方面有很大的优势。

6.2 可变变量

  • 可变变量:变量的标识符可以动态的改变
  • 数据表查询的时候需要动态的改变变量名,比如说图片处理,http 处理等等
    1. <?php
    2. // 可变变量: 变量的标识符/变量名称,可以动态的改变, 变量名可以来自另一个变量
    3. $var = 'email';
    4. // 变量名email, 恰好是变量$var的值
    5. // $email = 'peter@php.cn';
    6. $$var = 'dashu@163.com';
    7. echo $email;

6.3 检测和删除变量

  • 检测:isset()
  • 删除:unset()
  • 如果变量已经定义但是未赋值(初始化),默认用 NULL 进行赋值
  • 初始化:第一次赋值
  • 更新/修改:第二次赋值;
  • is_null()判断是否没有赋值
  • empty()判断是否为空,但是有值
  1. <?php
  2. // error_reporting(E_ALL);打开报错
  3. // 检测与删除变量
  4. // echo $username;
  5. //检测是否存在
  6. if (isset($username)) echo $username, '<br>';
  7. $username = 'king';
  8. echo $username .'<hr>';
  9. // 变量删除/销毁
  10. unset($username);
  11. if (isset($username)) {
  12. echo $username, '<br>';
  13. } else{
  14. echo '变量未定义';
  15. }
  16. echo '<hr>';
  17. // 变量已定义而未初始化,默认用NULL进行赋值
  18. // 初始化:第一次赋值
  19. // 更新/修改: 第二次赋值
  20. $email;
  21. $email = null;
  22. var_dump(is_null($email));
  23. echo '<hr>';
  24. $var = '';
  25. var_dump(is_null($var));
  26. var_dump(empty($var));

7. 数据类型

  1. <?php
  2. # 数据类型
  3. // 1. 基本类型
  4. // 字符串: string
  5. $name = '我爱去中文网学习';
  6. // 数值: int, float
  7. $price = 3890;
  8. // 布尔: true / false
  9. $is5G = true;
  10. echo gettype($is5G),'<hr>';
  11. echo var_dump($is5G);
  12. // 2. 复合类型
  13. // 对象
  14. $obj = new stdClass;
  15. $obj->email = 'king@163.com';
  16. echo $obj->email . '<br>';
  17. echo gettype($obj),'<hr>';
  18. // 数组
  19. $arr = ['电脑', 8000, 'huawei'];
  20. // $str=print_r($arr, true);
  21. // echo '<pre>'.$str.'</pre>';
  22. echo '<pre>'.print_r($arr, true).'</pre>';
  23. echo gettype($arr),'<hr>';
  24. // 3. 特殊类型
  25. $num = null;
  26. var_dump($num);
  27. // 资源类型, 文件
  28. //fopen() 函数打开文件或者 URL。如果打开失败,本函数返回 FALSE。
  29. $f = fopen('demo7.php','r');
  30. var_dump($f);
  31. echo gettype($f),'<hr>';
  32. if (gettype($f) === 'resource') {echo 'demo7.php是一个文件';}

个人总结

对php与php的运行机制有了初步认识,与如何定义php变量规则,赋值如何去检测与判断删除变量,打印输出结果,还有php的数据类型。多敲多练继续加油吧~

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