1.wamp更改项目文件夹(自定义网站根目录) ?
2.多站点配置 ?
3.自拟定端口号
-----------------------------------------
var_dump :可以显示变量类型
区分大小写
自由变量
memory_get_usage:获取当前PHP消耗的内存
在PHP中,支持8种原始类型,其中包括四种标量类型、两种复合类型和两种特殊类型。
(PHP是一门松散类型的语言,不必向PHP声明变量的数据类型,PHP会自动把变量转换为自动的数据类型)
bool类型:
布尔类型(boolean):
注意,当我们用”echo”指令输出布尔类型时,如果是“true”则输出的是“1”,“false”则什么也不输出。
我们可以使用“var_dump”函数,获取它真正的数据类型(是布尔类型)。
整型类型:
整型(integer):类似于常见的整数。它可以用十进制、八进制、十六进制指定。
十进制就是日常使用的数字;
八进制,数字前必须加上“0”;
十六进制,数字前必须加“0x”
浮点型(浮点数、双精度数或实数)
科学计数法可以使用小写的e,也可以使用大写的E 1.2e3 7.0E-3
1.字符串型可以用三种方法定义:单引号形式、双引号形式和Heredoc结构形式 ?
(字符串是由一系列字符组成,在PHP中,字符和字节一样,也就是说,一共有256种不同字符的可能性。)
2.当你的字符串中包含引号的时候,我们怎么办:
第一种方案:在单引号中嵌入双引号,如上图第2行所示;
第二种方案:在双引号中嵌入单引号,如上图第3行所示;
第三种方案:使用转义符“\”(后面部分还有介绍),分别如上图第4行和第5行所示;
3.当引号遇到美元咋办?
当双引号中包含变量时,变量会与双引号中的内容连接在一起;(双引号是$变量)
当单引号中包含变量时,变量会被当做字符串输出;(单引号是字符)
4.当我的字符串很长怎么办
我们可以使用Heredoc结构形式的方法来解决该问题,
(heredoc结构,主要用来组织复杂文本串,简化的代码难度)
首先使用定界符表示字符串(<<<),接着在“<<<“之后提供一个标识符GOD(其他也可以),然后是字符串,最后以提供的这个标识符结束字符串
位于开始标记和结束标记之间的变量可以被正常解析,但是函数则不可以。在heredoc中,变量不需要用连接符.或,来拼接
PHP第一种特殊类型—资源
资源(resource):资源是由专门的函数来建立和使用的,例如打开文件、数据连接、图形画布。
我们可以对资源进行操作(创建、使用和释放)。任何资源,在不需要的时候应该被及时释放。
如果我们忘记了释放资源,系统自动启用垃圾回收机制,在页面执行完毕后回收资源,以避免内存被消耗殆尽。
<?php
//首先采用“fopen”函数打开文件,得到返回值的就是资源类型。
$file_handle = fopen("/data/webroot/resource/php/f.txt","r");
if ($file_handle){
//接着采用while循环(后面语言结构语句中的循环结构会详细介绍)一行行地读取文件,然后输出每行的文字
while (!feof($file_handle)) { //判断是否到最后一行
$line = fgets($file_handle); //读取一行文本
echo $line; //输出一行文本
echo "<br />"; //换行
}
}
fclose($file_handle);//关闭文件
?>
PHP第二种特殊类型—空类型
NULL(NULL):NULL是空类型,对大小写不敏感,NULL类型只有一个取值,表示一个变量没有值。当赋值为NULL,或者尚未被赋值,或者被unset()这三种情况下变量被认为为NULL。
常量(避免重复定义,提高可维护性)
PHP中的常量分为自定义常量和系统常量,自定义变量:
define()函数的语法格式为:
bool define(string $constant_name, mixed $value[, $case_sensitive = true])
它有3个参数(也就是原料):
第一个参数“constant_name”为必选参数,常量名称,即标志符,常量的命名规则与变量的一致,但是要注意哦,它可不带美元符号哦。第二个参数“value”为必选参数,它是常量的值。第三个参数“case_sensitive”为可选参数,指定是否大小写敏感,设定为true表示不敏感,一般不指定第三个参数的情况下,默认第三个参数的值为false。
(注: string表示参数类型为字符串类型,mixed表示参数类型可以接受为多种不同的类型,case_sensitive = true表示默认为布尔类型TRUE)
系统常量(系统定义好的):
(1)__FILE__ :php程序文件名。它可以帮助我们获取当前文件在服务器的物理位置。
(2)__LINE__ :PHP程序文件行数。它可以告诉我们,当前代码在第几行。
(3)PHP_VERSION:当前解析器的版本号。它可以告诉我们当前PHP解析器的版本号,我们可以提前知道我们的PHP代码是否可被该PHP解析器解析。
(4)PHP_OS:执行当前PHP版本的操作系统名称。它可以告诉我们服务器所用的操作系统名称,我们可以根据该操作系统优化我们的代码。
常量取值:
直接取,或使用constant()函数更加灵活constant("PI"),constant($p)
判断常量是否被定义
defined()函数可以帮助我们判断一个常量是否已经定义,其语法格式为:
bool defined(string constants_name)
它只有参数constant_name,指的是要获取常量的名称,若存在则返回布尔类型true,否则返回布尔类型false; (注:bool表示函数返回值类型为布尔类型)
运算符:
PHP运算符一般分为算术运算符、赋值运算符 $b = $a; $c = &$a;(注意这两种的区别)比较运算符、三元运算符$b = $a >= 60 ? "及格":“不及格”;、逻辑运算符、字符串连接运算符、错误控制运算符
如果激活了track_error(这个玩意在php.ini中设置)特性,表达式所产生的任何错误信息都被存放在变量$php_errormsg中,此变量在每次出错时都会被覆盖,所以如果想用它的话必须尽早检查。
1、逻辑与:要求所有人都投票同意,才会通过某协议;
2、逻辑或:只要求一个人投票同意就行;
3、逻辑异或:只能有且只能有一个人投票同意;
4、逻辑非:某个人要反对,但是通过逻辑非,使其反对无效;
顺序结构、条件结构、switch...case、while循环、do...while循环、for循环、foreach循环、结构嵌套之条件嵌套、结构嵌套之循环结构与条件结构嵌套
<?php
date_default_timezone_set('Asia/ShangHai');
$today = date('m-d',time());//获取当天日期
$birthday = "02-14";//生日
$money = 238;//消费金额
$discount = 0.8;//八折优惠
if($today == $birthday){
$money = $money * $discount;
}else{
$money = $money * 1;}
echo $money;
?>
<?php
$students = array(
'2010'=>'令狐冲',
'2011'=>'林平之',
'2012'=>'曲洋',
'2013'=>'任盈盈',
'2014'=>'向问天',
'2015'=>'任我行',
'2016'=>'冲虚',
'2017'=>'方正',
'2018'=>'岳不群',
'2019'=>'宁中则',
);//10个学生的学号和姓名,用数组存储
//使用循环结构遍历数组,获取学号和姓名
foreach($students as $key =>$v)
{
echo $key.":".$v;//输出(打印)学号:姓名
echo "<br />";
}
?>
<?php
$students = array(
'2010'=>array('令狐冲',"59"),
'2011'=>array('林平之',"44"),
'2012'=>array('曲洋',"89"),
'2013'=>array('任盈盈',"92"),
'2014'=>array('向问天',"93"),
'2015'=>array('任我行',"87"),
'2016'=>array('冲虚',"58"),
'2017'=>array('方正',"74"),
'2018'=>array('岳不群',"91"),
'2019'=>array('宁中则',"90"),
);//10个学生的学号、姓名、分数,用数组存储
foreach($students as $key=>$val)
{ //使用循环结构遍历数组,获取学号
echo $key; //输出学号
echo ":";
//循环输出姓名和分数
foreach($val as $v)
{
echo $v;
}
echo "<br />";
}
?>