Blogger Information
Blog 2
fans 0
comment 1
visits 1541
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
2020年01月03日 php基础、变量定义及输出
晓刚
Original
659 people have browsed it

php基础

一、首先来个初体验

  1. <?php
  2. echo '终于学习php了,很高兴'
  3. ?>

运行效果
php编程语言写在<?php ?>里面,在某些情况下?>可以不用写


二、 php变量

变量可以理解为是存储信息的“容器”

php变量的规则

  1. 变量必须以$开始,后面才跟着变量的名称
  2. 变量名必须以字母或者下划线字符开始,不能以数字开头(例如$1 是错误的)
  3. 变量名只能包含字母数字字符以及下划线
  4. 变量名不能有空格
  5. 变量名区分大小写($a $A 是不同的两个变量)

php变量无需声明

  1. php变量,使用前不用声明;php没有变量声明语句
  2. 变量声明,简单的可以理解为:向内存申请一块空间,用来存储数据,变量名就是内存地址编号
  3. 第一次要初始化,也可称之为赋值,第二次叫更新/修改,也可称之为重新赋值

举例说明

  1. <?php
  2. $site='php.cn';
  3. ?>


不好演示画了个图表示下


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

  1. <?php
  2. //数据:变量表示,放在数据段
  3. $site='php.cn';
  4. //代码:函数表示,放在代码段
  5. function get_site($webSite)
  6. {
  7. return $webSite.'欢迎您';
  8. }
  9. //调用函数,指令就是一条一条的进入到cpu中
  10. echo get_site($site);
  11. // 两个//是php中的单行注释
  12. /*
  13. * 这样的是php中的多行注释
  14. */


四、 为什么数据有类型

1.操作的要求:只有明确了数据类型,才能允许操作
例如:数组允许进行算术运算,字符串不能进行算术运算。打比方说就是一台设备的按钮只画了个符号,不告诉用户是按的还是转的,用户就不知道怎么操作的了
2.存储要求:只有声明了数据类型,才能正确的分配内存空间来保存
例如:数值、字符串、布尔值、它们占用的空间肯定是不一样的

数据类型分类:


五、 基本类型的特点与操作

基本类型:数值,字符串,布尔值(true,false),浮点型
字符串必须用定界符进行包装:单引号/双引号
单引号:纯字符中
双引号:除了纯字符中之外,还能解析变量和特殊字符

->数值范围
数值:计算机的字长相关,32位与64位不相同
字符串:与字符编码集相关,gbk/utf8/utfmb4
布尔值: true / false

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

->类型说明
一个变量名对应一个值:单值类型
例: $name=’li’; $gender=’male’;
一个变量名对应多个值:多值类型
例:多值类型/复合类型:数组、对象


六、 php输出操作

  1. <?php
  2. $name='xiao gang';
  3. $age=29;
  4. /*
  5. * .是php中的拼接,跟js中+类似
  6. * . 的拼接可以使用 , 省去了字符串的拼接和解析的过程,效果要比.高些
  7. * echo可以输出一个或多个字符串
  8. * echo 输出是没有返回值的
  9. *
  10. */
  11. echo '年龄:'.$age.'<br>';
  12. echo $name.'的年龄:'.$age.'<br>';
  13. echo $name,'的年龄:',$age,'<br>';
  14. /*
  15. * 取出变量$name里面的x 用一下方式
  16. * 因为不是数组,推荐的方式是{},免得误会
  17. */
  18. echo '姓名的一个字母'.$name[0].'<br>';
  19. echo '姓名的一个字母'.$name{0}.'<br>';
  20. /*
  21. * print是有返回值的,成功会返回输出1
  22. */
  23. echo print('年龄:'.$age.'<br>');
  24. echo '<br>';
  25. //第二个参数true不是输出,而是返回,类似与return
  26. echo print_r($name,true);
  27. echo '<hr>';
  28. //复合类型 数组
  29. $data=range(1,20,2);
  30. //数组 转成了字符串
  31. $result=print_r($data,true);
  32. // gettype返回当前的数据类型
  33. echo gettype($result);
  34. // pre可以格式化输出
  35. echo '<pre>'.$result.'</pre>';
  36. echo '<hr>';
  37. //可以生成变量的php源代码的字符串表示
  38. echo var_export($name);
  39. echo '<br>';
  40. echo var_export($data,true);
  41. echo '<br>';
  42. //可以完成的输出类型和值
  43. var_dump($data);

输出结果:


七、 单双引号及大段字符串的输出

  1. <?php
  2. $name='xiao gang';
  3. $age=29;
  4. //如果输出的是纯字符串,没有变量的话,建议使用单引号,效率要比双引号快
  5. //单引号不会解析变量
  6. echo '我是:$name <br>';
  7. //双引号可以正常解析
  8. echo "我是:$name <br>";
  9. echo "我是:${name}哈哈 <br>";
  10. echo "我是:{$name}哈哈 <br>";//建议使用这种方式
  11. //双引号可以解析特殊字符
  12. echo "This\t'is' a\t demo<br>";
  13. //如果想要输出双引号,需要进行转义,方式如下
  14. echo "This\t'is' a\t \"demo\"<br>";
  15. //大段字符串的输出 heredoc:类似双引号定义的字符串
  16. //第一种:简洁 第二种直观
  17. echo <<< HELLO
  18. <h3 style="color: red">"php中文网"{$name}</h3>
  19. HELLO;
  20. echo <<< "HELLO"
  21. <h3 style="color: aquamarine">"php中文网"{$name}</h3>
  22. HELLO;
  23. echo '<br>';
  24. //nowdoc:功能与单引号创建的字符串类似,不解析变量及特殊字符
  25. echo <<< 'NOWDOC'
  26. <h3 style="color: aqua">"php中文网"{$name}'单引号'</h3>
  27. NOWDOC;

HELLO NOWDOC 名字可以随便设置,只要是合法的,注意的是《nowdoc》单引号是不能省略的
运行结果:


以上有自己的想法在里面,有错误之处,请老师指出下,不要误导了读者;
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