Blogger Information
Blog 30
fans 0
comment 2
visits 29341
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
PHP基础知识----变量、数据类型
司马青衫
Original
611 people have browsed it

PHP 基础

PHP 文档结构

  1. <?php
  2. //php文档的开头
  3. //单行注释
  4. /*
  5. 多行注释
  6. */
  7. //每条语句以 ; 结束
  8. //php文档的结尾 纯php文件可以不写
  9. ?>

PHP 输出操作

  1. <?php
  2. $name = 'simaqingshan';
  3. //1. echo 没有返回值,可以打印多个变量,直接显示,支持输出多种格式(变量、常量、html标签等)
  4. echo 'echo: '.$name,'<br>';
  5. //2. print 有返回值 且始终返回1 只能打印单个变量
  6. echo 'print返回值: '.print 'print: '.$name.'<br>';
  7. echo '<br>';
  8. //3. 输出变量的类型gettype();
  9. echo '变量类型: '.gettype($name).'<br>';
  10. //4. 获取变量的完整信息var_dump();
  11. echo 'var_dump(): ';
  12. var_dump($name);
  13. echo '<br>';
  14. //5. 输出变量的字符串表示
  15. echo '变量$name的字符串表示:'.var_export($name,true);

PHP 变量

  • 变量是临时存储数据的容器
  • 变量是实现数据复用的手段

PHP 变量的命名

  • 变量以\$符开头,其后是变量的名称。
  • 变量名称必须以字母或下划线开头且不能以数字开头。
  • 变量名称只能包含字母数字字符和下划线(A-z 、0-9 以及_)
  • 变量名最好起的有意义 能做到望文生义
  1. <?php
  2. //1. 变量区分大小写
  3. $name = 'user';
  4. $Name = 'admin';
  5. echo $name.'<br>'.$Name.'<br>';
  6. //2. 函数不区分大小写
  7. echo strtoupper($name).'<br>';
  8. echo STRTOupper($name).'<br>';

PHP 变量的类型变化

  • 变量的类型可以随值而变化,也叫变量的动态
  • 赋值可以不用考虑变量类型
  1. <?php
  2. $var = 'aaa';
  3. echo gettype($var).'<br>';
  4. $var = 100;
  5. echo gettype($var).'<br>';

PHP 变量的赋值

  • 分成两种方式
    • 值传递
    • 引用
  1. <?php
  2. //1. 值传递 两个变量不能同步更新
  3. $var1 = 100;
  4. $var2 = $var1;
  5. echo '$var1:'.$var1.'&nbsp;&nbsp;'.'$var2:'.$var2.'<br>';
  6. $var1 = 111;
  7. echo '$var1:'.$var1.'&nbsp;&nbsp;'.'$var2:'.$var2.'<br>';
  8. //2. 引用传递 两个变量同步更新
  9. $var2 = &$var1;
  10. echo '$var1:'.$var1.'&nbsp;&nbsp;'.'$var2:'.$var2.'<br>';
  11. $var1 = 222;
  12. echo '$var1:'.$var1.'&nbsp;&nbsp;'.'$var2:'.$var2.'<br>';

PHP 变量名的动态创建

  • 可以用一个变量的值创建成一个新的变量名 即可变变量
  1. <?php
  2. $name = 'userName';
  3. //动态创建出$userName的变量 赋值成为simaqingshan
  4. $$name = 'simaqingshan';
  5. echo '$name: '.$name.'<br>';
  6. echo '$$name: '.$$name.'<br>';
  7. echo '$userName: '.$userName.'<br>';

PHP 变量的检测与删除

  • isset():如果该变量存在且值不为 null 则返回 true 即变量存在
  • unset():删除变量 没有返回值
  • empty():检测一个变量是否为空
  1. <?php
  2. $name = 'userName';
  3. //输出变量存在的返回值1
  4. echo isset($name).'<br>';
  5. unset($name);
  6. //无返回值输出
  7. echo isset($name).'<br>';
  8. //变量为空 输出1
  9. echo empty($name).'<br>';

PHP 数据类型

  • 分成基本类型 复合类型 特殊类型
  • 基本类型
    • 字符串类型 string
    • 数值类型 int
    • bool 类型 bool
  • 复合类型
    • 对象类型 object
    • 数组类型 array
  • 特殊类型
    • null 类型 NULL
    • 文件句柄 文件资源类型 resource
  1. <?php
  2. //1. 基本类型
  3. $str = 'string';
  4. $num = 100;
  5. $bool = false;
  6. echo var_dump($str).'<br>';
  7. echo var_dump($num).'<br>';
  8. echo var_dump($bool).'<br>';
  9. //2. 复合类型
  10. $obj = new stdClass;
  11. $obj->name = 'sima';
  12. $arr = ['sima',18,180];
  13. echo var_dump($obj).'<br>';
  14. echo var_dump($arr).'<br>';
  15. //3. 特殊类型
  16. $nul = null;
  17. $file = fopen('zy.php','r');
  18. echo var_dump($nul).'<br>';
  19. echo var_dump($file).'<br>';

PHP 变量运算时类型转换

  • PHP 自动进行类型转换

    • 不同类型的数据进行运算处理时会将类型进行转换
    • null false 在算术运算中自动转为 0
    • true 在算术运算中转为 1
  • PHP 强制转换

    • (int)强制转为整数
    • intval():强制转为整数
    • strval():强制转为字符串
    • settype():永久转换 可以转换成任意类型
  1. <?php
  2. //1. 自动类型转化
  3. $nul = null;
  4. $true = true;
  5. $false = false;
  6. echo 10+$nul+$true+$false;
  7. echo '<br>';
  8. //2. 强制类型转换
  9. $str = 'he';
  10. echo gettype((int)$str).'<br>';
  11. echo gettype(intval($str)).'<br>';
  12. echo gettype(strval($true)).'<br>';
  13. settype($true, 'string');
  14. echo gettype($true).'<br>';

Correcting teacher:GuanhuiGuanhui

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