虽说已经工作,并且也做了两个项目,但总觉得自己的基础知识不牢固,所以从头开始学起。学习过程中的一些代码已上传到 github 和
略。。。
略。。。
xml 风格
<?php echo "这是 xml 风格";?>
脚本风格
<script language="php"> echo "这是脚本风格";</script>
简短风格
<? echo "这是简短风格"; ?>
asp 风格
<% echo "这是 asp 风格";%>
如果使用简短风格和 asp 风格,需要在 php.ini 中进行设置,将 short_open_tag 和 asp_tags 设置为 on,重启 apache 服务器
推荐使用 xml 风格
单行注释
c++ 风格(//)<?php // 单行注释?>shell 风格(#)
<?php # shell 风格的单行注释?>
多行注释
<?php /* 多行注释 多行注释 多行注释 */?>
单行注释中不允许出现 ?> php 结束标签
多行注释中不允许出现 */ 多行注释结束标签
php 中数据类型可以分为三类:标量类型、复合类型、特殊类型
布尔类型
布尔类型只有两个值:真(true),假(fal),通常使用在条件控制或循环控制语句的条件表达式中
php 中可以自动转换为假(fal)的值:0, 0.0, “0”, “”, []
字符串类型
字符串就是连续出现的字符序列。php 支持四种定义字符串的方式:单引号(‘),双引号(“),heredoc 语法结构,nowdoc 语法结构
单引号<?php echo '字符串';?>双引号
<?php echo "字符串";?>
如果字符串包含在双引号(“)中,可以对变量和一些特殊字符进行解析
heredoc 语法结构\r 和 \n 在 windows 中的对比效果不明显,在 linux 中,\n 表示换到下一行,但不会回到行首;而 \r 表示光标回到行首,但仍在本行
<?php <<<eod这是 heredoc 语法结构eod?>nowdoc 语法结构
<?php <<<'eod'这是 nowdoc 语法结构eod?>
heredoc 和 nowdoc 语法结构和双引号与单引号的关系类似,heredoc 可以解析上面列出的特殊字符,nowdoc 不可以。heredoc 语法结构和 nowdoc 语法结构的结束标识符必须在行首。
整型
在 32 位操作系统中,有效的数值范围的 -2147483648~2147483647(书上这么写的),在 php7 (不要问我为什么是 php7,因为我用 php7 测试的)中可以使用 php_int_max
和 php_int_min
来获取范围的最大最小值。整型可以使用十进制、二进制、八进制、十六进制来表示,使用八进制,需要在数字前面加上0,使用十六进制需要在数字前面加上0x。
<?php echo 123;// 正数 echo -123;// 负数?>二进制
<?php echo 0b10011;?>八进制
<?php echo 0123;?>
十六进制在八进制中,如果出现非法数字 8,9这些,程序会报错(php7 中是这样)
<?php echo 0x123;?>
整数溢出
如果给定一个数超出了 integer 的范围,会被解释为 float。
不要将未知分数强制转换为 integer
<?php echo (int)( (0.1 + 0.7) * 10 );// 结果是 7?>
浮点类型
浮点类型默认有两种格式,标准格式的科学记数法格式
<?php $float = 3.1415; $float2 = -23.3; $float3 = 2.34e2; echo pi();// 圆周率?>
浮点型数值只是一个近似值,要尽量避免浮点数比较大小
数组 array
数组的定义:
<?php $arr = array( $key => $val, ... ); // 或 $arr = [ $key => $val, ... ];?>
数组的取值:
<?php echo $arr[$key];?>
数组 key 的强制转换
包含合法的十进制整数值的字符串会被转换成整数值,例如 “3” 会转换成 3,而 “03” 则不会转换成 3浮点数也会强制转换为整型,方式为向下取整,例如 2.3 会转换成 2布尔值中 true 会转换为 1,fal 转换为 0null 会转换为空字符串””如果在数组中定义了相同的键名,只使用最后一个
对象 object
类的实例,使用 new 关键字创建。
<?php class foo { protected $name = 'class'; public function show() { echo $this->name; } } $obj = new foo();// 这是的 obj 就是一个对象,是从 foo 这个类实例化来的?>
资源类型 resource
手册上解释的是:它是保存了外部资源的一个引用。
null
表示一个变量没有红衣男孩事件值,以下情况会被认为是 null
被赋值为 null变量未赋值被 unt()还可以使用 ttype(mixd var, string type) : boolean 函数对类型进行转换,第一个参数是要转换的变量,第二个参数是要转换的类型,支持:boolean, float, integer, array, null, object, string。转换成功返回 true,失败返回 fal。
php 中内置了检测数据类型的系列函数,判断一个变量是否属于某个类型,是的话返回 true,不是返回 fal。
常量是一个简单的标识符,在脚本运行期间不允许改变。
常量的定义
使用 define() 函数,语法格式:
define(string constant_name, mixed value, boolean ca_nsitive = fal);
define() 函数说明:
常量的取值
一是直接使用常量名取值,另一种是使用 constant()
函数取值。
判断一个常量是否已经定义
使用 defined() 函数判断一个常量是否已经定义,如果定义了则返回 true,否则返回 fal。
php 中常用的预定义常量
变量是在程序执行过程中可以变化的量,用一个美元符号后面跟上变量名表示,区分大小写。
变量名必须以字母或下划线开头,后面跟上数字、字母、下划线,不能包含特殊符号,也不能以数字或其它特殊符号开头。变量可以是中文,但不建议使用。
$this 是一个特殊的变量,不能被赋值
<?php// 变量的声明$foo = 'variable';$foo1 = 'var';// $1_a = '1a'; // 变量名不合法// $@abc = 'abc'; // 变量名不合法$var = $foo; // 使用 $foo 给变量 $var 赋初值$var2 = &$foo; // 引用赋值$var2 = 'var2'; // 改变 $var2 的值var_dump($foo); // $foo 的值也会改变var_dump($var); // $var 的值还是 variable?>
变量必须在有效的范围内使用,超出变个范围,变量就失去的意义。
全局变量不能被函数直接使用,如果要使用,必须在函数中声明为 global
// 变量作用域$a = 1;f老公用英语怎么说unction test(){ echo $a; // 这里不会有任何输出,调用的局部的变量 $a var_dump($a); // 打印结果显示 null}test();// 全局变量在函数内部使用的时候,必须使用 global $b = 2;function test2(){ global $b; // 声明为 global echo $b; 有关自我保护的事例 // 结果为 2}test2();// 使用 $globals 代替 global$c = 3;function test3(){ $globals['c'] = 5; // 使用 $globals 代替 global}test3();echo $c; // 显示结果为 5
一般来说,在函数中声明的变量,在函数运行结束时,就会自动被清除掉,使用静态变量则会被保留。
// 静态变量function static_var(){ static $d = 1; echo $d++;}static_var(); // 显示 1static_var(); // 显示 2
用一个变量的值,作为另一个变量的变量名。
// 可变变量$e = 'f'; // 变量值为 f$$e = 'i am f'; // 相当于 $f = 'i am f';echo $f;
// 预定义变量dump($globals); // 全局作用域中全部变量dump($_rver); // 服务器和执行环境信息dump($_get); // http get 变量dump($_post); // http post 变量dump($_files); // http 文件上传变量dump($_request); // http request 变量dump($_ssion); // ssion 变量dump($_cookie); // cookiesdump($_env); // 环境变量dump($php_errormsg); // 前一个错误信息dump($http_raw_post_data); // 原生 post 数据dump($http_respon_header);// http 响应头function dump($var){ echo '<pre>'; print_r($var); echo '</pre>';}
运算符是可以通过给出的一个或多个值,得出另一个值的东西。
从上到下,优先级降低。
按位异或
本文发布于:2023-04-08 12:01:09,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/037fd081fe6be93b99a609d0ff6a3621.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:PHP 学习笔记.doc
本文 PDF 下载地址:PHP 学习笔记.pdf
留言与评论(共有 0 条评论) |