缘起宇轩阁 2019-12-29
<strong><span>PHP</span></strong>
为服务器端技术,由Web服务器解释执行,html+css+js
为前端技术,由浏览器解释执行。
操作系统(Windows、Linux)
Web服务器 Apache(开源,最流行)
数据库系统 MySQL(开源,适合中小规模)
PHP解析模块
Apache常用配置
打开http.conf
(wamp安装目录下/conf/)文件。
Listen 0.0.0.0:8080 Listen [::0]:8080
ServerName localhost:8080
DocumentRoot "d:/wamp/www/"
<?php phpinfo();?>
PHP编码的方式为在html中嵌入php代码的方式来编写,其中php代码放在 <?php ... ?>
定界符中。
示例:以 <span>h1</span>
标题的形式输出当前日期:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>第一个php程序</title> </head> <body> <h1><?php echo date(‘Y-m-d‘);?></h1> 或<?php echo ‘<h1>‘.date(‘Y-m-d‘).‘</h1>‘?> </body> </html>
将该文件命名为 first.php(拓展名必须为php), 放入Wamp的主目录(默认为wamp安装目录下的www文件夹)。
打开浏览器输入<span><strong> http://localhost:8080/first.php </strong></span>向Web服务器提出请求,Web服务器发现这是一个php文件,打开该文件执行其中的php代码,将执行结果发送给客户端浏览器,由浏览器渲染呈现个访问者。
php为类C语言,语言和C语言类型,所有这里只是列出php比较独特的部分。
<?php $num=1; $bol=true; $s=‘字符串‘; ?>
global 的作用是指明全局变量,使其可在函数内部使用。
<?php $a=1; function fun(){ echo $a; } //没有输出 ?>
<?php $a=1; function fun(){ global $a; echo $a; } //输出:1 ?>
使用 $GLOBALS[] 全局数组也能实现在函数内部引用变量。
<?php $a=1; function fun(){ echo $GLOBALS[‘a‘]; } //输出:1 ?>
echo,print_r,var_dump
<?php $x=100; $arr=array(‘北京‘,‘上海‘,‘广州‘); echo $x; print_r($x); var_dump($x); echo $arr; print_r($arr); var_dump($arr); ?>
连接运算符: .
比较运算符: == 、 ===
单引号 表示纯粹的字符串。
双引号 中包含的变量名会替换成相应的值。
strlen($str)
:获取字符串的长度。如果计算中文字符串的长度使用 mb_strlen 函数,
mb_strlen (字符串,编码类型)
mb_strlen ( ‘ web设计 ‘ , ‘ utf-8 ‘);
注意的是,注意的是,mb_strlen
并不是PHP核心函数,需要在php.ini中确保 "extension=php_mbstring.dll
" 这一行存在并且没有被注释掉。
$str[index]
:获得字符串中的单个字符。<?php $email=‘‘; for ($i=0; $i <strlen($email) ; $i++) { echo $email[$i]; } ?>
trim($str)
:去掉字符串两端的空格。 <strong><span>ltrim($str)</span></strong>
、rtrim($str)
:去掉字符串左边或右边的空格。
substr($str, start, [length])
:第 start
个字符开始,取长为 length
的子串。如果省略 length
,表示取到字符串的结尾。<?php substr("2010-9-6",5);//返回"9-6" substr("2010-9-6",2,4);//返回"10-9" ?>
strpos(string,find,[start])
:返回子串 find
在字符串 string
中第一次出现的位置,如果未找到该子串,则返回 false
,如果有 start
参数,表示开始搜索的位置。<?php strpos("ABCabc","bc");//返回4 strpos("ABCabc","bc",5);//返回false ?>
<strong><span>strrpos()</span></strong>
- 查找字符串在另一字符串中最后一次出现的位置(区分大小写)。
<span><strong><span>stripos()</span></strong></span>
- 查找字符串在另一字符串中第一次出现的位置(不区分大小写)。
<strong><span>strripos()</span></strong>
- 查找字符串在另一字符串中最后一次出现的位置(不区分大小写)。
str_replace(find, replace, string, [&count])
:替换字符串中的部分字符,将 find
替换为 replace
,如果有参数 count
,还可获取替换了多少处。<?php str_replace("AB","*","ABCabc"); //返回"*Cabc" $arr = array("blue","red","green","yellow"); print_r(str_replace("red","pink",$arr,$i)); echo "替换数:$i"; //返回 Array ( [0] => blue [1] => pink [2] => green [3] => yellow ) 替换数:1 ?>
str_ireplace 将进行不区分大小写的替换。
预定义字符:单引号(‘)、双引号(")、反斜杠(\)、NULL。
<?php $str = addslashes(‘Shanghai is the "biggest" city in China.‘); echo($str); //输出 Shanghai is the \"biggest\" city in China. ?>
stripslashes(string)
删除由 addslashes() 函数添加的反斜杠。htmlentities(string)
:把字符转换为 HTML 实体。<?php $s=‘<h1>标题</h1>‘; $x=htmlentities($s); var_dump($x); //输出:string ‘<h1>标题</h1>‘ (length=27) ?>
strip_tags(string)
:剥去字符串中的 HTML 标签。<?php echo strip_tags("Hello <b>world!</b>"); //输出:Hello world! ?>
sprintf(format,arg1,arg2,arg++)
:把格式化的字符串写入变量中。<?php $info=‘姓名:%s,年龄:%d‘; $info=sprintf($info,‘胡悦‘,20); echo($info); //输出:姓名:胡悦,年龄:20 ?>
<?php $email=""; if (strpos($email, "@") && strpos($email, ".")&& strpos($email, "@")<strpos($email, ".")){ echo "Email格式正确<br/>"; } ?>
<?php $content = "《Web标准网页设计与PHP》"; $find= "网页设计"; //假设这是查询关键词 $out=str_ireplace($find,"<strong style=‘color:red‘>$find</strong>",$content); echo $out."<br>"; ?>
索引数组 - 带有数字索引的数组。
关联数组 - 带有指定键的数组。
多维数组 - 包含一个或多个数组的数组。
$city=array(); $city[0]=‘北京‘;//数字下标 $city[1]=‘上海‘; $city[]=‘广州‘;//如果没有指定下标,则下标为下标索引最大值+1,如果是第一个元素则为0 $city[‘sz‘]=‘深圳‘;//索引下标
$city=array(‘北京‘,‘上海‘,‘广州‘); $city=array(‘bj‘=>‘北京‘,‘sh‘=>‘上海‘,‘gz‘=>‘广州‘); $a=[1,2,3,4,5];
<?php $a=array(); $a[0]=‘北京‘; $a[1]=‘上海‘; $a[2]=‘广州‘; unset($a[1]); print_r( $a); //输出:Array ( [0] => 北京 [2] => 广州 ) ?>
注意:删除的元素小标不会被新添加的数组元素占用。
$a=[1,2,3,4,5]; for($i=0;$i<count($a);$i++){ echo $a[$i]; }
$city=array(‘bj‘=>‘北京‘,‘sh‘=>‘上海‘,‘gz‘=>‘广州‘); foreach ($city as $key => $value) { echo $value; }
count($arr)
:返回数组中元素的个数。
max($arr)
:返回数组中的最大值。
min($arr)
:返回数组中的最小值。
array_sum($arr)
:统计所有元素的和。
<span>array_values(array)</span>
:返回定数组中值,不保留键名。<?php $a=array("Name"=>"Bill","Age"=>"60","Country"=>"USA"); print_r(array_values($a)); //输出:Array ( [0] => Bill [1] => 60 [2] => USA ) ?>+
array_keys(array)
:返回数组所有键名的一个新数组。array_merge()
:把一个或多个数组合并为一个数组。<?php $a1=array("a"=>"red","b"=>"green"); $a2=array("c"=>"blue","b"=>"yellow"); print_r(array_merge($a1,$a2)); //输出:Array ( [a] => red [b] => yellow [c] => blue ) ?>
array_key_exists(key, array)
:检查数组中是否存在指定的键名,存在返回 true
,不存在返回 false
。<?php $a=array("010"=>"北京","021"=>"上海"); if (array_key_exists("010",$a)){ echo "键存在!"; }else{ echo "键不存在!"; } ?>
array_search()
:在数组中搜索某个键值,并返回对应的键名。<?php $a=array("a"=>"red","b"=>"green","c"=>"blue"); echo array_search("red",$a);//输出:a ?>
in_array(search,array,type)
:搜索数组中是否存在指定的值,search
要搜索的值,array
数组,type
是否需要类型相同。<?php $a=array("a"=>"red","b"=>"green","c"=>"red"); print_r(array_unique($a)); //输出:Array ( [a] => red [b] => green ) ?>
array_unique()
:移除数组中的重复的值,并返回结果数组。array_count_values($arr)
:统计数组中所有值出现的个数。<?php $arr=array(2,1,3,1,2,3,2,4,3,2,1,4); $tmp=array_count_values($arr); print_r($tmp); //输出:Array ( [2] => 4 [1] => 3 [3] => 3 [4] => 2 ) ?>
<strong><span>explode(分隔字符,字符串)</span></strong>:
将字符串转换为数组。<?php $str=‘北京,上海,广州,深圳‘; $arr=explode(‘,‘,$str); print_r($arr); ?>
implode(‘分隔字符‘,$arr)
:将数组转换为字符串。<?php $arr=array(‘北京‘,‘上海‘,‘广州‘,‘深圳‘); $str=implode(‘,‘,$arr); echo $str; ?>
<?php $IP="59.51.24.54"; $arr=explode(".",$IP); if (count($arr)==4) echo "IP格式正确,IP前两位为 $arr[0].$arr[1].*.*"; ?>
<? $Patternstr = "走私|发票|办证"; $Pattern= explode("|",$Patternstr); $inputstr="走私物品增值发票"; for($i=0;$i<count($Pattern);$i++) { if (strpos($inputstr, $Pattern[$i])!==false) { $outstr=str_replace($Pattern[$i],"",$inputstr); $inputstr=$outstr; } } echo $inputstr."<br>"; ?>
time()
:返回当前时间的 Unix 时间戳。<?php $nextWeek = time() + (7 * 24 * 60 * 60); //1周=7天*24小时*60分*60秒 echo ‘现在是:‘. date(‘Y-m-d‘) ."<br>"; echo ‘下一周是: ‘. date(‘Y-m-d‘, $nextWeek) ; ?>
date(format [,timestamp])
:格式化本地时间日期。<?php echo date(‘Y-m-d H:i‘); echo date(‘Y-m-d‘,1462686882); ?>
strtotime(strtime)
:将日期字符串转换为日期。<?php function 函数名(参数) { //函数名不区分大小写 被执行的代码; return 返回值; } ?>
文件包含语句
include(path/filename) require(path/filename)//包含文件失败,抛出致命错误
isset($var)
:检查变量 $var 是否定义。如果变量已经定义,并且其值不为 NULL,则返回 true
,否则返回 false
。empty($var)
:检查变量是否为空。(所谓变量为空包括两种情况:①变量未定义;②变量的值为“”、0、“0”、NULL、FALSE、以及空数组、没有任何属性的对象等)is_*()
系列函数 <span> <strong><span>is_string()</span></strong></span>
、is_int()
、is_float()
、is_bool
、is_null()
、is_array()。
5)数学函数:
round(val [,int precision)
:四舍五入
intval(var)
:转换为整数
floatval(var)
:转换为浮点型
strval(var)
:转换为字符串
rand(int min, int max)
:返回min到max之间的伪随机数
abs(num)
:取绝对值
<?php. if (!empty($_POST)) {. $data1 = $_POST["data1"];$data2 = $_POST["data2"];$fuhao = $_POST["fuh