Blogger Information
Blog 53
fans 3
comment 0
visits 46966
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
PHP代码的基本组成及变量的基础知识
emagic
Original
738 people have browsed it

0702作业

一、PHP的组成

1.php程序是运行在服务端的,终端不能看到过程和代码,只能看到php返回的结果

2.他以<php开头,以?>结尾

3.代码

中间执行代码语句的结束;代码段{}

  1. function 函数名(形参) {
  2. return 返回结果给调用者;
  3. }

4.注释:

单行注释://单行注释
多行注释:/ *多行注释*/
#注释也能兼容,但是php中不太常用

5.执行和输出

// 执行,将执行结果打印输出

二、输出打印的几种方法

代码 功能
echo 回显,效率最高,且没有返回值可以同时打印多个变量可以输出html标签,前端自动解析
print 打印,有返回值,成功打印就是1,不可以打印多个变量(多个需要用.连接成一个字符串)
print_r() 以人性化的方式打印数据,支持第二个参数,true表示不直接打印,而返回终端字符串,例:$str=print_r($arr,true)
var_dump() 获取到变量完整的信息 ;类型(长度)值
var_export() 返回一个变量的字符串表示(即源代码)
. 连接字符串

三、变量命名和类型

1.变量是临时存储数据的容器

2.变量是实现数据复用的手段

3.变量标识符:$开始,仅允许字母,下划线和数字,且不允许数字开始

变量名必须以$符开头

变量标识符不允许用数字开始

变量名不允许使用特殊字符,如@,#等

变量只允许字母和下划线_开始

中文可以用作变量名,但不推荐使用

变量名建议尽量使用语义化的,可以望文生义

注意:变量区分大小写;但函数名是不区分大小写的

  1. $myname='admin';
  2. $MyName='abc';
  3. // 变量区分大小写
  4. echo $myname, '<br>', $MyName, '<hr>';

四、变量的动态特征:变量的类型可以随着值面变化

  1. <?php
  2. // 变量的动态: 是指变量的类型可以随值而变化
  3. $str = 666;
  4. var_dump($str);
  5. //同样的变量名,第一次输出的是数字int类型
  6. echo '<hr>';
  7. $str = '文本';
  8. var_dump($str);
  9. //同样的变量名,第二次输出的是string类型
  10. ?>

五、变量的传递

变量有值传递和引用传递二种方式赋值

1.值传递,默认的方式
2.引用传递

在等号的右边/右值前面加上&(取地址符)

  1. // 2. 引用传递
  2. $str1 = '标记1';
  3. // 在等号的右边/右值前面加上&(取地址符)
  4. // 当前保存的并不是$str1的值, 而是$str1变量在内存中的地址,就像拿到的是房号的钥匙,而不是具体房间内的物品
  5. $str2 = &$str1;
  6. // 更新str2
  7. $str2 = '标记2更新';
  8. // 查看str11, 会发现str11与str2同步更新了
  9. echo 'str1 = ' . $str1 . '<hr>';

只要更新str1,str2会同步更新

六、可变变量-变量名可以动态创建

代码 功能
isset() 变量检测,如果该变量存在且值不为null才是true,才行
unset() 删除变量。没有返回值
empty() 判断是否为空,’’,常常用于验证表单数据
  1. <?php
  2. $user = 'gameMaster';
  3. // 动态创建可变变量
  4. $$user = '游戏管理员';
  5. echo $user; //输出字符串 gameMaster
  6. echo '<hr>';
  7. echo $gameMaster; //输出 "游戏管理员"的值,变量名$gameMaster不是手动定义的,$gameMaster通过$$user动态创建的
  8. ?>

七、变量的检测与删除

  1. <?php
  2. // 打开所有的报错
  3. error_reporting(E_ALL);
  4. // 变量检测
  5. $name = 'admin';
  6. // isset():如果该变量存在且值不为null才是true
  7. if (isset($name)) {
  8. echo $name . '<br>';
  9. } else {
  10. echo '没有定义' . $name . '<hr>';
  11. }
  12. // unset():删除变量, 没有返回值
  13. unset($name);
  14. ?>

八、数据类型

1、基本类型

(1)字符串
  1. $name= '伤害值';
(2)数字
  1. $num= 1000;
(3)布尔(true,false)
  1. $status = false;

2.复合类型

(1)对象
  1. $obj = new stdClass;

对象是属性和方法的无序集合
$obj->name = ‘网站管理员’;
echo $obj->name,’<hr>‘;

(2)数组
  1. $arr =['a','b','v',5];
  2. $str = print_r($arr,true);
  3. echo '<pre>'.$str.'</pre>'

基本类型:标量,单值
复合类型:多值

3.特殊类型

(1)NULL
(2)文件资源类型 resource
  1. $f = fopen('xxx.csv','r');
(3)数据库连接的对象

九、变量的类型转换

1.自动转换:由php系统悄悄进行的,不需要用户主动参与

  • null在算数运算中自动转为0

  • true在算数运算中自动转为1

  • false在算数运算中自动转为0

  • 数字开头的字符串,截取至第一个非数字的字符前的数字参与运行,第一个不是数字的就报错

  • .加数字,将数字转为字符

2.强制转换(int)(string)

  1. echo int$e + 10,'<br>'

推荐使用(intval) (strval)的函数

  1. echo (intval)$e + 20 ,'<br>'

以上都是临时转换,原始类型并未转变
永久转换:

  1. settype($f,'string');
  2. echo gettype($f);
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