由于web端只能做做数据的读取,如果要存储数据是比较麻烦的(当然cookie可以做存储,但是并不是很安全)。PHP正好提供一个比较好的方式,就是将数据存储在服务端,实际上web端和APP都属于客户端,唯一区别就是,web端展示数据需要依赖浏览器,而APP需要的是移动终端,或者说是一部手机。web端的大多数数据都是来自于服务器的。而且php可以像JS的在html中的使用一样,直接使用格式如下:
<?php 要实现的php语句 ?>
php的日志输出echo
<?php echo 要输出的内容
?>
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Echo语句</title>
</head>
<body>
<p>
//这样就可以直接在网页上显示"欢迎使用php"
<?php echo"欢迎使用php" ?>
</p>
</body>
</html>
php基础语法规则
php语句以
;
结尾
变量:
php的变量声明变量名必须以$
标识,以字母或者下划线
开始 ,由字母,数字,下划线组成,且区分大小写。eg:$var = "欢迎使用php"
; $_name = "屁蜂"
,当然函数形参规则一样。php对变量的声明也是不需要指定数据类型的,自动判断类似于JS
数组(字典)php中不存在
:
php中的数组array
分为索引数组
和关联数组
,是一个用,
分隔键值对集合;索引数组可以认为是其他语言中的数组,无需指定key
,key
就是从0开始的下标
,只需要指定value
,关联数组则可以理解为其他语言中的字典,当然需要手动指定key
和value
;创建php数组 array(键值对集合)
eg:$book = array(key => value)
,其中的=>
表示关联,可以直接读作关联
函数:
php函数与其他脚本语言的函数类似比如JS,'function'关键字开头,如果有返回值,直接在函数体内return
即可。
$name = "阿凯"
echo "欢迎$name使用PHP"
echo '欢迎$name使用PHP'
$var = "欢迎使用"."php";
echo $var;
//长字符串其中的GOD可以任意定义,但是必须首尾一样,且尾部标识必须另起一行,紧跟上一行,中间不能有其他字符
<?php
$string1 = <<<GOD
我有一只小毛驴,我从来也不骑。
有一天我心血来潮,骑着去赶集。
我手里拿着小皮鞭,我心里正得意。
不知怎么哗啦啦啦啦,我摔了一身泥.
GOD;
echo $string1;
?>
//数组
//数组添加元素
$arr = array();
$arr[] = el1;
$arr[] = el2;
...
$arr[] = eln;
array_push($arr,el1);
array_push($arr,el2);
...
array_push($arr,eln);
//索引数组
$numbers = array("1","2","3");
//关联数组
$book = array(
"id" = "123456";
"name" = "谭浩强C语言(第十版)";
);
$books = array($book,$book,$book);
$books1 = array();
$books1[] = $book;
$books1[] = $book;
$books1[] = $book;
$books2 = array();
array_push($books2,$book);
array_push($books2,$book);
array_push($books2,$book);
//books,books1,books2一样
//函数
function test($a,$b)
{
return "测试".$a.$b;
}
字符串:
PHP中的字符串用""
或者''
包裹而且如果""包裹的内容如果有变量存在,会自动将变量解析成变量值拼接到字符串中,''不会
;字符串拼接的另一个方法是以.
连接eg :$var = "欢迎使用"."php"
。长字符串变量定义可以使用<<<
strlen
:获取字符串的长度
去空格
:trim去除一个字符串两端空格。
rtrim是去除一个字符串右部空格,其中的r是right的缩写。
ltrim是去除一个字符串左部空格,其中的l是left的缩写。
字符串截取
:英文字符串截取使用substr(字符串变量,开始截取的位置,截取个数),中文字符串截取使用
mb_substr(字符串变量,开始截取的位置,截取个数, 网页编码)
字符串查询
:字符串查询使用strpos(要处理的字符串, 要定位的字符串, 定位的起始位置[可选])
字符串替换
:字符串替换使用str_replace(要查找的字符串, 要替换的字符串, 被搜索的字符串, 替换进行计数[可选])
格式化字符串
:格式化字符串字符串使用sprintf(格式字符串, 操作字符串);
浮点型格式字符串组成 %+占位符+整个格式化后的串长度(包括小数点)+.+小数部分位数+f
字符串合并
:字符串数组合并(类似于拼接可以添加连接符)
使用implode(分隔符[可选], 数组)
,省略分隔符,就是字符串拼接
字符串分隔
:分隔使用explode(分隔符[可选], 字符串)
//获取字符串的长度
$str = 'hello';
$len = strlen($str);
echo $len;//输出结果是5
//去空格
echo trim(" 空格 ")."<br>";
echo rtrim(" 空格 ")."<br>";
echo ltrim(" 空格 ")."<br>";
//字符串截取
substr($str, 2, 4);//英文字符串
mb_substr($str, 4, 2, 'utf8');//中文字符串
//字符串查询
$str = 'I want to study at imooc';
$pos = strpos($str, 'imooc');
echo $pos;//结果显示19,表示从位置0开始,imooc在第19个位置开始出现
//字符串替换
$str = 'I want to learn js';
$replace = str_replace('js', 'php', $str);
echo $replace;//结果显示I want to learn php
//格式化字符串
$str = '99.9';
$result = sprintf('%01.2f', $str);
echo $result;//结果显示99.90
//字符串合并
$arr = array('Hello', 'World!');
$result = implode('', $arr);
print_r($result);//结果显示Hello World!
//字符串分隔
$str = 'apple,banana';
$result = explode(',', $str);
print_r($result);//结果显示array('apple','banana')
运算符
:除去几个比较特殊的,.=(连接字符串),===(恒等)
与其他语言的运算符都一样
控制结构
:与其他语言的控制结构相似,不同之处在于:switch条件表达式可以是字符串;循环结构除了for,while等等,还可以使用foreach循环
//switch
function getNumber($name)
{
switch($name)
{
case "xiaoshi":
{
echo 0;
}
break;
case "xiaofei":
{
echo 1;
}
break;
case "jiaoshou":
{
echo 2;
}
case "chenwei":
{
echo 3;
}
break;
}
}
getNumber("xiaoshi");//输出0
getNumber("xiaofei");//输出1
getNumber("jiaoshou");//输出2
getNumber("chenwei");//输出3
//foreach