简介
php
-
PHP(PHP:Hypertext Preprocessor):超文本预处理器,一种通用开源脚本语言。
-
php脚本在服务器上执行
php文件
-
PHP 文件可包含文本、HTML、JavaScript代码和 PHP 代码
-
PHP 代码在服务器上执行,结果以纯 HTML 形式返回给浏览器
-
PHP 文件的默认文件扩展名是 ".php"
作用
-
生成动态页面内容
-
创建、打开、读取、写入、关闭服务器上的文件
-
收集表单数据
-
发送接收cookies
-
添加、删除、修改数据库中的数据
-
限制用户访问网站页面
-
加密数据
php语法规则
-
php标记<?php?>
-
指令分隔符 ;
-
注释 //注释 /*注释*/
-
多个空格: 
echo "123     456";
-
编码设置
header("content-type:text/html; charset=utf-8");
输出文本指令:
echo
-
echo 或 echo()
-
显示多个值的时候可以用逗号隔开。只支持基本类型,布尔型除外,echo true的时候显示1,echo false的时候啥都没有。
-
字符串可以包含 HTML 标签
echo "<h2>PHP 很有趣!</h2>"; echo "Hello world!<br>";
-
print 或 print()
-
不支持逗号分隔多个显示变量的语法
-
字符串可以包含 HTML 标签
print "Hello world!<br>"; print "我要学习 PHP!";
echo和print的区别
-
echo - 可以输出一个或多个字符串;没有返回值
-
print - 只允许输出一个字符串,返回值总为 1
-
使用echo,有多个参数的时候,不能使用括号,即echo $arg1,$arg2是正确的,echo($arg1,$arg2)会导致解析错误
print_r()
-
打印字符串和数字。
-
数组以括起来的键和值得列表形式显示,并以Array开头。
-
print_r 是函数,不仅可以打印变量的的值,还能显示变量类型,而且也可以显示数组和对象这样复杂的变量类型。print_r() 将把数组的指针移到最后边。使用 reset() 可让指针回到开始处。
-
但print_r()输出布尔值和NULL的结果没有意义,因为都是打印"\n"。因此用var_dump()函数更适合调试。
var_dump()
-
判断一个变量的类型与长度,并输出变量的数值
-
如果变量有值输的是变量的值并回返数据类型。
-
此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。
变量$:
-
存储信息的容器
-
$+变量的名称
-
命名可以字母、下划线 “-”、汉字进行开头,不能以数字、特殊字符、关键字开头。变量名不允许包含空格
-
PHP不用声明变量的数据类型,PHP会自动把变量转换为自动的数据类型
-
使用memory_get_usage来查看当前Php消耗的内存
-
使用gettype查看变量类型
define("pi",3.14);//定义常量
$name = "zhangsan";
echo "$name"."<br>";
echo "<h1> my name is: <h1>".$name."<br>";
echo gettype($name)."<br>";
echo memory_get_usage($name)."<br>";
PHP的字符串连接符用(.)来表示。
echo "hello world"."hihihihi";
常量
-
常见的系统常量有
-
FILE_:php程序文件名。当前文件在服务器的物理位置
-
LINE:PHP程序文件行数,当前代码在第几行
-
PHP_VERSION :当前解释器的版本号
-
PHP_OS:执行当前PHP版本的操作系统名称
echo __FILE__."<br>";
echo __LINE__."<br>";
echo PHP_VERSION."<br>";
echo PHP_OS."<br>";
变量类型
-
boolean
-
integer
-
float
-
string
复合类型
-
array
-
object
-
callable
特殊类型
-
resource
-
NULL
-
-
//打开文件 $file_hande = fopen("D:\\text.text","r"); //连接数据库 $con=mysql_connect("localhost","root","root"); //建立100*100画布 $img=imagecreate(100,100);
//fopen 打开文件,得到返回值的就是资源类型 $file_handle = fopen("D:\\text.text","r"); if ($file_handle){ //w'hile循环输出每行的文字 while(!feof($file_handle)){//判断是否到最后一行 $line = fgets($file_handle);//读取一行文本 echo $line."<br>";//输出一行文本 } } fclose($file_handle);//关闭文件
class Girl
{
public $name = "zhangsan";
}
$mygirl = new Girl();
echo gettype($mygirl);
分支结构
-
if-else
<?php if(条件一){ //分配服务器完成任务A }else if(条件二){ //分配服务器完成任务B } ... else { //分配分配服务器完成任务N } ?>
$names = ['zhangsan','liis','wangu']; if(count($names)>3) echo "名字个数大于3<br>"; else echo "名字个数小于或等于3,个数为:".count($names)."<br>";
-
switch
<?php switch (条件) { case 条件值一: //任务一 break; case 条件值二: //任务二 break; ... ... case 条件n //任务n break; default: //默认任务 } ?>
$name = "zhangsan"; switch ($name) { case "zhangsan": echo "my name is :zhangsan<br>".$name."<br>"; break; case "lisi": echo "my name is : lisi<br>".$name."<br>"; break; default: echo "i dont have name."; break; }
-
for
for(初始化;循环条件;递增项){ //执行任务 }
$names = ['zhangsan','liis','wangu']; for($i=0;$i<count($names);$i++){ echo $names[$i]."<br>"; }
-
foeach
$names = ['zhangsan','liis','wangu']; foreach($names as $name) { echo $name."<br>"; }
$students = array( '01' => "zhangsan", '02' => "wangwu", '03' => "lisi", ); foreach($students as $key => $v)//获取值 { echo $key.":".$v."<br>";//打印id:姓名 }
-
wile
while(条件){ //执行任务 }
$names = ['zhangsan','liis','wangu']; $i=0; while($i<count($names)){ echo $names[$i]."<br>"; $i++; }
-
do -while
do{ //执行任务 }while(条件)
$names = ['zhangsan','liis','wangu']; foreach($names as $name) { echo $name."<br>"; }
while与do-while区别
-
while先判断条件是否成立,后执行循环,do...while先执行一次任务,再判断是否继续执行循环,也就是说do...while至少会执行一次任务。
-
当条件为FALSE时,while中的任务会一次也不执行,do...while中的任务会执行1次。
练习:打印99乘法表
echo "******九九乘法表******<br>";
$i=1;
$j=1;
for($i=1;$i<10;$i++)
{
for($j=1;$j<=$i;$j++)
{
echo $j."*".$i."=".$i*$j;
echo " ";
}
echo "<br>";
}