博客列表 >初识 PHP 运行原理及数据类型

初识 PHP 运行原理及数据类型

a.
a.原创
2021年02月04日 15:28:06686浏览

初识 PHP 运行原理及数据类型

在 Windows 下选择一个自己喜欢的集成环境

windows 下可使用的面板非常多,但是好用的其实没有几个,这里写三个,我自己用的是 phpEnv

  • 小皮面板(phpstudy):这货原来叫 phpstudy,时间也很长了,功能很丰富,界面并不好看,一直在更新。但是稳定性就我个人感觉来说真不行,小问题非常多,我用的时间最久,由于不稳定让我删除的次数最多,当然这是我个人感觉

  • UPUPW:功能比较强大,界面也比小皮好看,但是每次创建站点后自定义的域名软件不会帮你设置下 hosts 文件,还要自己去设置,自己懒不想设置;如果你也懒也别用。不是说这种点小事自己还懒,因为面板很多,我肯定选择最让我用的最舒服的。精力放在学习代码上。

  • phpEnv:界面非常简单,但是功能都有。绑定了自定义域名也不用手动配置 hosts,稳定性和 upupw 也差不多,目前一直在用的集成。

[y1arct.jpg]

PHP 是怎么运行的?

有了 php 集成环境后我们就好奇 php 是怎么运行的呢

  1. 我们访问网站其实就是访问的一台装了 web 环境的一台电脑称之为服务器,服务器 web 环境有 nginx 和 apache,但是这两个只是将 web 服务器中的 html 和 js,CSS 等发回给用户浏览,由浏览器自己解析
  2. 如果访问的是.Php 文件,那么会有 web 服务器中的 Php 引擎也就是解析器来处理,处理完了之后转为 html 代码发回给 nginx 或者 apache
  3. 如果 php 文件中是 html 和 php 混编,只会把<?php…?>php 标签内的内容发给 php 解析器
  • 如下 php 引擎只会执行 php 标签中的代码
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>将PHP写到HTML中</title>
  7. </head>
  8. <body>
  9. <?php
  10. // 一旦html文档中出现了php标签,那么这个文档的扩展名必须是php
  11. //单号注释
  12. /*
  13. 多行
  14. 注释
  15. */
  16. // 短标签:需要在php配置文件中打开short_open_tag = on
  17. echo 'hello,这是PHP输出的代码';
  18. ?>
  19. <?php
  20. echo '<h3>短标签输出的内容</h3>'
  21. //如果只有一行语句,或者是最后一行代码可以不加;号
  22. ?>
  23. <?='不加echo 输出的内容'?>
  24. <?php
  25. $str = '<h2 style="color:blue">短标签输出的内容</h2>';
  26. ?>
  27. <?= $str ?>
  28. <!-- 自定义输出格式 -->
  29. <?php
  30. echo '<p>hello world</p>';//echo 可以输出多个值并且没有返回值
  31. print '<p>hello world</p>'; //print 只能输入一个值,有返回值
  32. echo print '<p>hello world</p><hr>';
  33. // printf (模板,要输出的数据)
  34. // 1+2=3
  35. printf('<hr>%d+%d=%d',1,2,1+2);
  36. // %d 表示整数,%s表示字符串,%f表示浮点数
  37. ?>
  38. <!-- sprintf,内容不输出,只返回
  39. vprintf,支持数组参数
  40. vsprintf,支持数组参数,内容不输出,只返回 -->
  41. </body>
  42. </html>

php 的数据类型

php 数据类型用什么来检测?

  • 我们可以用 php 内置的 gettype()函数来检测数据类型
  • 用 var_export 来得到一个变量值 的类型的“字符串表达”
  • var_dump PHP 内置函数,可同时完成上面两个函数的功能
  1. $passed = true;
  2. echo $passed;
  3. // 此显示为1,浏览器只能显示字符串,ECHO的时候会自动转为字符串,转为字符串就是“1”
  4. // 可以使用gettype来获取数据类型
  5. echo gettype($passed);
  6. //如果想得到一个变量值 的类型的“字符串表达”
  7. var_export($passed,true);
  8. // 还可以用来输出PHP源代码
  9. $res = var_export($passed,true);
  10. echo $res;
  11. // 同时看类型和值
  12. echo '<hr>type:'.gettype($passed).'<br>value:'.var_export($passed,true);
  13. //var_dump()内置的函数,既能看到值也能看到函数
  14. echo "<hr>";
  15. var_dump($passed); //主要用来调试,不能用于生产环境。可以输出多个值

基本类型:布尔类型、字符串类型、整数型、浮点数

布尔类型

如上代码中的变量$passed就是一个布尔类型,它的值要么为 false,要么为 true

数值型

数值型有两种,整型和浮点型

  1. $price = 89.9;//这是浮点型
  2. $number = 3; //这是整型

字符串型

必须要使用“单引号”或者“双引号”作为定界符

  1. $name = "admin";
  2. $email = "admin@php.cn";
  3. echo '<hr>name:'.$name.'email:'.$email.'<hr>';
  4. // echo 'hello '你好''; 这里会报错
  5. // 1.使用与定界符不同的引号类型
  6. echo 'hello "你好"';
  7. //2.将字符串内部的定界符号进行转义,转为失去定界符作用的普通字符
  8. echo 'hello \'你好\'';
  9. // \t:水平制表位,其实就是tab键,四个空格
  10. echo "c:\web\table\index.html";
  11. // 这里就需要将反斜线自身进行转义
  12. echo "c:\\web\\table\\index.html";

复合类型:数组、对象

数组

  1. $str = [1,"牛年大吉","5.5","false"];
  2. //数组索引默认从0开始递增
  3. echo 'id = ', $str[0],'<br>';
  4. $str[4] = true;
  5. $str[] = 243;
  6. // 如果不写索引他会自动追加到最后一个索引
  7. $lecture = [];
  8. $lecture[]="111";
  9. $lecture[]="222";
  10. $lecture[]="333";
  11. //数字索引依赖顺序,可以将数组成员的键名改为字符串,这样的话可以随机访问
  12. $str = ['id'=>1,'ta'=>"牛年大吉",'num'=>"5.5",'is'=>"false"];
  13. echo $str['id'],$str['ta'];
  14. print_r($str);
  15. echo '<pre>'.print_r($str).'</pre>';

对象

类与对象:在不引起误会的场景下,可以混用;对象与实例:实例是对象的同义词

  1. $a = 1;
  2. $b = 2;
  3. function sum($a,$b){
  4. return $a .'+'.$b.'='.($a+$b);
  5. }
  6. echo sum($a,$b);
  7. //写个容器将上面的代码进行封装,这个窗口就是:对象
  8. //使用对象的本质是代码复用
  9. class Demo{
  10. //变量=》属性
  11. private $a = 1;
  12. private $b = 2;
  13. public function sum(){
  14. return $this->a .'+'.$this->b.'='.($this->a+$this->b);
  15. }
  16. }
  17. $obj = new Demo();
  18. echo $obj->sum(),"<br>";
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议