本周学习知识点:
一.PHP基础
(1)PHP的基本概念
(2)PHP的发展
(3)PHP的发展前景
(4)PHP的优势
(5)PHP文件
(6)PHP语言标记
(7)指令分隔符
(8)PHP中的注释
(9)PHP中的变量
(10)判断变量是否存在
(11)可变变量
二.流程控制语句
(1).PHP运算符
(2).取余运算符
(3)赋值运算符
(4)比较运算符
(5)逻辑运算符
(6)特殊运算符
(7)流程控制语句的分类
一,PHP基础
PHP的基本概念:
超文本预处理语言的缩写,Hypertext Preprocessor,是一种在服务器端运行的脚本语言。
PHP语法 和 Java、c语言区别:
PHP是轻量级的语言,弱类型的语言,他的语法融合了 Java、c语言、Perl语言等以及自己独创的语法
PHP的发展:
PHP最初是由Lerdorf 为了维护个人网页而制作的一个简单的用perl语言编写的程序这个程序主要显示lerdorf的个人简历,以及统计简历的访问量,后来随着功能的不断完善加上 后来的以色列工程师的加入完善代码,称为PHP3的基础
PHP的发展前景:
英文世界:2013年1月的时候,PHP位居第一
现在基本位居前6名
现在在web开发领域----PHP的地位比较高的
不光是学习PHP语言-----Ajax---jQuery-------Linux操作系统----HTML5---Mysql
Linux----Apache---Mysql----PHP;搭配称之为:“LAMP黄金组合”web领域的黄金组合
PHP的优势:
1.开放的源代码,PHP的源代码可以得到
2.跨平台性强,可以运行在Unix Linux Windows MacOS
3.程序开发快,运行快,技术本身学习快。
4.面向对象
PHP文件:
1.在PHP文件中可以编写HTML、CSS、Javascript语言,但是使用<?php ?> 标记的语言会使用PHP应用服务器解析,将解析后的代码发给客户端
2.访问:http://localhost/php_review/1/test.php
3在PHP文件(.php结尾的文件)中可以写html、css、js代码,但是在html文件中不能嵌套php的代码
4.其次,文件命名:尽量使用英文、汉语拼音,杜绝使用中文或者特殊符号
5.编码:utf-8 不要使用utf-8+BOM
6.写代码的时候,该缩进的时候,要缩进,保持代码美观
PHP语言标记:
1.PHP的语言标记
<?php ?> 建议使用这种形式
如果 ?>后面没有脚本,可以不用写,而且建议不写
<? ?> 短风格 会被管理员禁用,所以不建议使用
<% %> asp风格 会被管理员禁用,所以不建议使用
2.在php.ini的配置文件中设置:
Short_open_tag 短风格
Asp_tag asp风格
指令分隔符
每一条语句之间使用 ; 号隔开
功能执行语句:一定加;号
结构定义语句:一定不要加 ;号
PHP中的注释:
1.PHP中的注释:
单行注释: //
多行注释: /* */
2.代码之间的空白
tab键
缩进:shift+tab
PHP中的变量:
1.变量:用于临时存储值的容器
2.变量的声明:
$变量名 = 值
声明和使用都要使用 $符号
变量的命名尽量使用 拼音或者英文单词,不要使用数字、特殊字符或者中文
变量名区分大小写
判断变量是否存在:
PHP是弱类型的语言,声明一个变量的时候不需要声明他的类型,他的类型由值来指定
判断变量是否存在,使用 isset()函数
将变量清除掉,使用unset()函数
$var="lvyanan";
$var2=isset($var);//判断字符串存在不
unset($var2);//注销字符串
var_dump($var2);
可变变量:
一个变量的值 可以作为另一个变量的名字
$first_name=”M”;
$last_name=”JD”;
$country=“China”;
If($country=“usa”){
$nicl_name=”first_name”;
}else if($country=“China”){
$nicl_name=”flast_name”;
}
Echo $$nicl_name;
变量的引用赋值:
1.PHP的变量默认是值传递,只是把值赋值之后传递给了另一个变量.
2.如果是引用传递的话,将保存变量的内存地址赋值,使用&符号,如果一个变量发生改变,另外一个也跟着变
$var=10;
$var2=$var;
$var3=&$var;
$var=20;
变量的类型:
8大数据类型:
4种标量类型:
整型:int
布尔型:bool
浮点型:float
字符串:string
2种复合类型:
数组 array
对象 object
2种特殊类型:
资源类型 resource
空类型 null
整型:int 浮点型:float
1,整数的最大值占4个字节,不管是1还是10000都在内存中占4个字节,整数的最大值是大约20亿
2,浮点型一位小数在内存中占4个字节,2为或以上小数占8个字节,
3,以0开头的表示以 8进制声明一个变量
4,以0x开头的表示以16进制声明一个变量
//数据类型bool值为空或0的
//一般类型
$var=0;
var_dump((bool)$var);//int类型
echo"<br/>";
$float=0.0;
var_dump((bool)$float);//float类型
echo"<br/>";
$string="";
var_dump((bool)$string);//string类型
echo"<br/>";
//特殊类型
$nu=null;
var_dump((bool)$nu);//空型
echo"<br/>";
$resource=mysql_connect('localhost','root','');//资源类型,值不为空或0
var_dump((bool)$resource);
echo"<br/>";
//复合数据类型
class student{
}
$student=new student();//成员变量的对象,不为空或0
var_dump((bool)$student);
echo"<br/>";
$var1=array();
var_dump((bool)$var1);//array()类型
echo"<br/>";
$db=new mysqli('localhost','root','');
var_dump((bool)$db);//对象,不为空或0
echo"<br/>";
字符串的声明:
1,单引号
2,双引号
3,定界符 <<<
/*定界符:<<<
<<<后面(eot)随便写,表示字符串开始,ect;表示字符串结束;
注意:字符串结束一顶要顶个写
*/
$str=<<<eot
<script>
alert("welcome to PHP");
</script>
eot;
echo"$str";
字符串的声明有多种方式:
在双引号中可以直接解析变量,又可以直接使用转义字符
在单引号中不可以解析变量也不可以解析转义字符
最好使用单引号
复杂情况下使用定界符
变量作用域:
$var="wang";
function test(){
//声明
global $var;
var_dump($var);
//var_dump($GLOBALS['var']);
}
test();
单一号和双引号区别:
3,建议使用 单引号
因为 双引号会判断一下里面有没有变量,所以执行速度要比 单引号 慢
4,单引号里面不能嵌套单引号,双引号里面不能再嵌套双引号
*/
//1,双引号里面可以解析变量,单引号会将里面原封不动的输出
$result='bao';
echo'$result';//不解析输出$result
echo"<br/>";
echo"$result";//解析输出bao
echo"<br/>";
//2,转义字符---\ 将\ 转义字符后面的原封不动的输出
$stri='\$hunder';
$strin="\$hunder";
echo $stri;//输出\$hunder
echo"<br/>";
echo $strin;//输出$hunder
二.运算符,流程控制
运算符(也叫操作符)
算数运算符 + - * / % ++ --
例子 | 名称 | 结果 |
$a+$b | 加法 | $a 和 $b 的和。 |
$a-$b | 减法 | $a 和 $b 的差。 |
$a*$b | 乘法 | $a 和 $b 的积。 |
$a/$b | 除法 | $a 除以 $b 的商。 |
$a%$b | 取余 | $a 除以 $b 的余数。 |
-$a | 取反 | $a 的负值。 |
++$a | 前++ | $a值加1,返回$a |
--$a | 前-- | $a值减一,返回$a |
$a++ | 后++ | 返回 $a,然后将 $a 的值加一 |
$a-- | 后-- | 返回 $a,然后将 $a 的值减一 |
注意:前 ++ 或 前 -- 直接值减1就行;后++ -- 先运算 第二次在使用的时候值在发生变化
//{}表示一个整体
$a=10;
$b=$a++;//$b=$a=10,$a=$a+1=11
$c=$b++ + ++$b;//$c=$b+{$b+1}+1=10+{10+1}+1=22;$b=$b+1
$d=$c-- - --$c;//$d=$c-{$c-1}-1=22-{22-1}-1;$c=$c-1=22-1;$c=$c-1=20
echo $d;
赋值运算符 = += -= *= /= %= .=
基本的赋值运算符是“=”。一开始可能会以为它是“等于”,其实不是的。它实际上意味着把右边表达式的值赋给左边的运算数。
$a=10;
$a+=10;//$a=$a+10;
$a-=5;//$a=$a-10;
$a/=2;//$a=$a/2;
$a*=2;//$a=$a*2;
$a.="rfgjg";//$a=$a."rfgjg";
比较运算符 > < >= <= == === != !== <>
例子 | 名称 | 结果 |
$a == $b | 等于 | TRUE,如果 $a 等于 $b。 |
$a === $b | 全等 | TRUE,如果 $a 等于 $b,并且它们的类型也相同。(PHP 4 引进) |
$a != $b | 不等 | TRUE,如果 $a 不等于 $b。 |
$a <> $b | 不等 | TRUE,如果 $a 不等于 $b。 |
$a !== $b | 非全等 | TRUE,如果 $a 不等于 $b,或者它们的类型不同。(PHP 4 引进) |
$a < $b | 小与 | TRUE,如果 $a 严格小于 $b。 |
$a > $b | 大于 | TRUE,如果 $a 严格 $b。 |
$a <= $b | 小于等于 | TRUE,如果 $a 小于或者等于 $b。 |
$a >= $b | 大于等于 | TRUE,如果 $a 大于或者等于 $b。 |
$a='10';
$b=10;
if($a==$b){
//==输出yes;===输出no
echo"yes";
}else{
echo"no";
}
echo"<br/>";
$c=20;
$d=10;
var_dump($c<$d);
echo"<br/>";
var_dump($c>$d);
echo"<br/>";
逻辑运算符 && and || or ! 或 not
例子 | 名称 | 结果 |
$a and $b | And(逻辑与) | TRUE,如果 $a 与 $b 都为 TRUE。 |
$a or $b | Or(逻辑或) | TRUE,如果 $a 或 $b 任一为 TRUE。 |
$a xor $b | Xor(逻辑异或) | TRUE,如果 $a 或 $b 任一为 TRUE,但不同时是。 |
! $a | Not(逻辑非) | TRUE,如果 $a 不为 TRUE。 |
$a && $b | And(逻辑与) | TRUE,如果 $a 与 $b 都为 TRUE。 |
$a || $b | Or(逻辑或) | TRUE,如果 $a 或 $b 任一为 TRUE。 |
$var=true;
$result=false;
var_dump($var&&$result);
echo '<br/>';
var_dump($var and $result);
echo '<br/>';
var_dump($var||$result);
echo '<br/>';
var_dump($var or $result);
其他运算符 ? : ·· @
执行运算符:
PHP 支持一个执行运算符:反引号(``)。注意这不是单引号!PHP 将尝试将反引号中的内容作为外壳命令来执行,并将其输出信息返回(例如,可以赋给一个变量而不是简单地丢弃到标准输出)。
$command=`ipconfig /all`;//乱码现象:编码改为中文简体
echo '<pre>';
echo $command;
echo '</pre>';
错误控制运算符
PHP 支持一个错误控制运算符:@。当将其放置在一个 PHP 表达式之前,该表达式可能产生的任何错误信息都被忽略掉。
$my_file = @file ('non_existent_file') or
die ("Failed opening file: error was '$php_errormsg'");
$value = @$cache[$key];
注意:目前的“@”错误控制运算符前缀甚至使导致脚本终止的严重错误的错误报告也失效。这意味着如果在某个不存在或类型错误的函数调用前用了“@”来抑制错误信息,那脚本会没有任何迹象显示原因而死在那里。
三目运算符 ?:
条件?如果条件成立输出这里地内容:如果条件不成立输出这里
$a>$b?”yes”:”no”
学习总结: 定义常量 define('π','3.1415926'); //var_dump(π); $RESULT=defined('π');//判断常量是否被定义必须'π',使用时不用单一号 var_dump($RESULT); echo"<br/>"; 系统内置常量 魔术常量 echo __FILE__;//当前文件绝对路径 echo"<br/>"; echo __LINE__;//当前文件的行号 echo"<br/>"; echo PHP_VERSION;//php版本 |
单路分支
比较两个数大小并输出结果
if ($a > $b)
echo "a is bigger than b";
双路分支
判断两个数是否相等,如果不相等输出相反的结果
if ($a > $b) {
echo "a is bigger than b";
} else {
echo "a is smaller than b";
}
多路分支
if ($i == 0) {
echo "i equals 0";
} elseif ($i == 1) {
echo "i equals 1";
} elseif ($i == 2) {
echo "i equals 2";
}
switch ($i) {
case 0:
echo "i equals 0";
break;
case 1:
echo "i equals 1";
break;
case 2:
echo "i equals 2";
break;
}