博客列表 >PHP 基本认识 变量定义与输出

PHP 基本认识 变量定义与输出

星夜低语
星夜低语原创
2020年04月16日 10:31:431196浏览

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的数据类型。多敲多练继续加油吧~

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议