用户自定义函数也称自定义函数,它们不是PHP提供的,是由程序员创建的.由于自己创建了这样的函数,所以就可以完全控制这些函数.所以呢可以让一个函数完全按照自己希望的方式运行
①.,申明函数
在PHP中,定义函数的方法同其他编程语言几乎一样.下面是PHP申明函数的语法结构:
复制代码代码如下:
{
//函数代码code
Return 返回值;
}
以上语法结构中,关键字的含义如下.
(1)function:用于申明用户自定义函数的关键字.
相同的原则.但是函数名不能以$开头,而变量可以.
代码func_1.php
php
require 'a.php';
echo "我不会被执行!";
(1)值传递参数.按值进行参数传递是PHP的默认传递方式.使用这个方法,必须在主程序调用时传递一个值(参数).
代码sum.php
function sum ($a,$b)
Echo $a+$b;
中的原始值.引用传递其实也就是地址传递,将一个变量的地址作为参数传递.
代码valuechange.php
$myNum=100;
function Valuechange ($number)
$number=$number+1;
Echo $number . "br";
Valuechange($myNum);
Echo $myNum;
类成员或者函数调用.
提示:当使用默认参数时,任何默认参数必须放在非默认参数的右侧;否则,可能函数不会按照预期的情况工作.
代码func_default.php
PHP中var_dump的意思是判断一个变量的类型与长度,并输出变量的数值.
var_export必须返回合法的php代码, 也就是说,var_export返回的代码,可以直接当作php代码赋值个一个变量,?var_dump里面的变量必须是存在的.
拓展资料
第二段:用var_dump里面的变量必须是存在的,如果变量存在但值是空的就会返回false;没有变量则返回NULL.他自己就有输出的功能.不必加其他的输出函数.
第三段:var_export必须返回合法的php代码, 也就是说,var_export返回的代码,可以直接当作php代码赋值个一个变量. 而这个变量就会取得和被var_export一样的类型的值.
第四段:PHP(外文名:PHP: Hypertext Preprocessor,中文名:"超文本预处理器")是一种通用开源脚本语言.语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域.
第五段:PHP 可以比CGI或者Perl更快速地执行动态网页.用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快.
PHP函数调用与Java/C/C++是一样的额,通过函数名(参数列表)就可以了,
举个栗子:
图中,有两处函数调用,一开始的session_start()是调用的PHP函数,validate_user($username, $password)是用户自定义函数,同样的方式调用.
如果遇到某个函数不会用呢.
首先用google搜,然后将搜到的那些
代码都测试一遍就心领神会了.
PHP基础
Author:陈庆平 (Andych)
第一段:PHP入门
第二段:PHP变量
①.、php变量的命名
变量由字母,数字,下划线组成
①.)变量名区分大小写
$stu_name;
$stu_name,$stu_age;
isset() 判断变量是否设置,返回true或false
define("",常量值)
defined() 判断常量是否设置,返回true 或 false
第三段:PHP数据类型
变量的数据类型
①.)布尔型(boolean)
算术运算符
逻辑运算符
比较运算符
赋值运算符
加一/减一运算符
第四段:运算符
三元运算符
$c = $a$b ? "good":"bad"
第一段:PHP流程控制语句
①.、分支结构
格式1:
if语句
if(条件)
语句集;
if(条件){
}else{
If(条件1)
语句集1;
多分支结构:
switch语句
格式:
switch(表达式)
{ case 常量: 语句;break;
..........
default: 语句;break;
While循环
While(表达式)
for循环
break 和 continue 语句
break 强行终止当前循环
continue 终止当前执行语句,继续执行循环
的下一句
PHP
Author: 陈庆平(Andych)
数组
分类: 枚举数组、关联数组和多维数组
枚举数组:下标为整数的数组
例如:$stu[1] = " 张三"
关联数组:用字符串做为下标的数组
例如:$stu["name"] = " 张三"
数组初始化
$stu[] = "name"
$stu[] = "sex"
注意:数组下表不需要按顺序分配
例题:排序数组元素(任意10 个数排
序)
使用array 函数
例如:
$stu = array("james","jack","Toms")
数组的起始下标可以不从0 开始
$arr = array["name"="james","sex"="boy"]
数组的应用
①. 、unset() 删除数组元素
unset($arr) 删除整个数组
unset($arr[0]) 删除单个数组元素
foreach($arr as $value)
输出数组中的元素
foreach($arr as $key=$value)
输出数组中的下标和元素
each() 返回数组中当前的键/值对并
将数组指针向前移动一步
user","Toms","Andych");
$foo = each($arr);
print_r($foo);
结果:
list() 把数组中的值赋给一些变量
如:list($var) = $arr
注意:list 函数仅用于数组下标从0 开始
的数组
current() 返回数组中当前元素
如:current($arr)
next() 将数组的指针移到下一个元素上
如:next($arr)
prev() 将数组的指针移到上一个元素上
如:prev($arr)
range() 自动生成一个包含指定范围单元的
数据
count() 统计数组中元素个数
如:count($arr)
array_count_values() 统计数组中相同
元素的个数
PHP 函数
函数
独立完成特定功能的代码块
内置函数
①. 、echo() 输出一个或多个字符串
如:echo " 程序设计基础"
如:print("PHP 程序设计")
用法同echo
注意:
Print start
// 任意行文字,可以包含HTML 代码
start;
输出任意行字符串
如:include("a.php")
include包含的文件中return语句的使用
$b = include("a.php");
If($b=="ok")
echo "File is Ok";
a.php文件
return "ok"?
注意:在包含文件中函数执行到return将会终止.
如:require("a.php")
功能同include方法一样
用户自定义函数
①.、函数声明
Function func_name($args)
//函数体
关键字含义:
function:用于声明自定义函数的关键字
Func_name:声明的函数名
$args:参数名称
①.、定义无参函数
function fun()
Echo "定义无参数函数";
(1 )按值传递
$num = 100;
Function func($a)
$a = $a*10;
Func($num)
Function func($b)
$b = $b + 10;
Func($sum);
修改如下参数php.ini
allow_call_time_pass_reference = on
function func($a,$num=100)
return $a*$num;
注意:尽量不要将默认值参数定义在第一个参数
位置,容易造成定义默认值实效
return value;
返回函数的内容
如果一个变量名后有括号,PHP 则搜索与变
量值相同的函数.并且执行它
Function foo()
Echo " 执行func() 函数" ;
$func = 'foo';
$func(); // 变量函数
显示结果:执行func() 函数
变量的作用域
①. 、global 语句
该语句允许从脚本的任何位置访问函数内部
定义的变量以及从函数内部访问函数外部的
变量
function foo()
global $a;
echo $a;
$func = "foo";
$func();
静态变量仅在局部函数中存在,当程序
离开该函数时,它值不会丢失
$a = 0;
$a ++;
foo(); //0
static $a = 0;
foo(); // 1
日期和时间的处理
获取日期和时间
date() 按指定格式返回系统的时间字符串
如:date("d") 返回月份中的第几天
a - "am" 或是 "pm"
A - "AM" 或是 "PM"
D - 星期几,三个英文字母; 如: "Fri"
F - 月份,英文全名; 如: "January"
l - 星期几,英文全名; 如: "Friday"
M - 月份,三个英文字母; 如: "Jan"
S - 字尾加英文序数,二个英文字母; 如: "th" ,"nd"
U - 总秒数
<
PHP 正则表达式
正则表达式
正则表达式是一种可以用于模式 匹配和替换的强有力的工具.
正则表达式可以让用户通过使用一系列的特殊字符构建匹配模
式,然后把匹配模式与数据文件、程序输入以及WEB 页面的表单输
入等目标对象进行比较,根据比较对象中是否包含匹配模式,执
行相应的程序.
例: ^http 表示匹配以http 开头的所有字符
[a-z] 匹配所有小写字符
abc 匹配字符串abc
正则表达式的元字符
匹配正则表达式模式
preg_match(pattern,subject)
表示在subject字符串中搜索与pattern给出的正则表达式相匹配的
内容.该函数返回pattern所匹配的次数(0次或1次).0次表示没有匹配
结果,函数返回一个false
例如:
$str = "php is a good language";
preg_match("/php/",$str);
模式,是正规表达式最基本的元素,它们是一组描述字符串特
征的字符.模式可以很简单,由普通的字符串组成,也可以非常
复杂,往往用特殊的字符表示一个范围内的字符重复出现,或表
示上下文.我们先看一些正则表达式中的特殊字符.
字符: ^
意义:表示匹配的字符必须在最前边.
preg_match(/^A/,"A good language") // 匹配成功
字符: $
意义:与^ 类似,匹配最末的字符.
preg_match(/t$/,"eat") // 匹配成功
字符*
意义:匹配* 前面的字符0 次或n 次.
例如: preg_match("/do*g/","doog") // 匹配成功
字符+
意义:匹配+ 号前面的字符1 次或n 次.等价于{ 1, } .
例如:preg_match("/do+g","dg") // 不匹配
字符?
意义:匹配? 前面的字符0 次或1 次.
例如:preg_match("/do?g/","dg") // 匹配
字符.
意义:( 小数点) 匹配除换行符外的所有单个的字符.
例如:/.n/ 匹配"nay, an" 中的'an' ,但不匹配'nay' .
字符(x)
意义:匹配'x' 并记录匹配的值.
例如:/(foo)/ 匹配和记录"foo bar." 中的'foo' .匹配子串能被结果数组中的素[1], ...,[n] 返回
字符x│y
意义:匹配'x' 或者'y' .
例如:/green│red/ 匹配"green apple" 中的'green' 和"red apple." 中的'red' .
字符{ n }
意义:这里的n是一个正整数.匹配前面的n个字符.
字符{ n, }
意义:这里的n是一个正整数.匹配至少n个前面的字符.
字符{ n,m }
意义:这里的n和m都是正整数.匹配至少n个最多m个前面的字符.
字符[xyz]
意义:一字符列表,匹配列出中的任一字符.你可以通过连字符- 指出一个字符范围.
例如:[abcd] 跟[a-d] 一样.它们匹配"brisket" 中的'b' 和"ache" 中的'a','c' .
字符[^xyz]
意义:一字符补集,也就是说,它匹配除了列出的字符外的所有东西. 你可以使用连字符- 指出一 字符范围.
例如:[^abc] 和[^a-c] 等价,它们最早匹配"brisket" 中的'r' 和"chop." 中的'h' .
字符 空格
意义:匹配一个空格( 不要与b 混淆)
预定义字符和字符类
\d 数字
\D 非数字
\w 单词字符
\W 非单词字符
表示匹配一个非单词字符
字符\b
意义:匹配一个单词的分界线,比如一个空格( 不要与空格混淆)
例如:/\bno/ 匹配"noonday" 中的'no' ,/ly\b/ 匹配"possibly yesterday." 中的'ly' .
PHP 字符串
格式化字符串
①. 、trim() 删除字符串开始和结束位置的空格
格式:trim(str)
格式:ltrim(str)
格式:rtrim(str)
格式:strtolower(str)
格式:strtoupper(str)
格式:ucfirst(str)
格式:ucwords(str)
HTML 文本格式输出
str 中包含\n
格式:htmlspecialchars(str,quote_style)
str:要转换的字符
quote_style:转换方式,主要对单引号和双引
号进行转换.值如下:
ENT_COMPAT 双引号被转换
ENT_QUOTES 单引号和双引号都被转换
ENT_NOQUOTES 任何一个引号都不被转换
主要用在防止恶意脚本注入和数据库数据的存储
格式:strip_tags(str,[char])
str :要去除的字符串
char :要保留字符串
如:strip_tags("a href=''new/a",a)
和数据库相关
①. 、addslashes() 按照一定规则将字符串进行转义
格式:addslashes($str)
如:addslashes("Hello ,'jack'")
结果:Hello,\'jack\'
magic_quotes_gpc = On 自动对 get post cookie
的内容进行转义
get_magic_quotes_gpc ()检测是否打开
magic_quotes_gpc
格式:stripslashes($str)
字符串的连接和分割
①. 、explode() 按指定分割符将字符串分开
格式:explode(str,$str[,limit])
str :分割符
$str :要分割的字符串
limit :分割后数组长度(可选)
成一个字符串
格式:implode(str,$arr)
str :连接符
$arr :字符串数组
注意:implode() 函数有个别名函数join
格式:strtok($str,str)
注意:若想输出所有内容,则以后函数中不需
要再加$str了.
如:$str = aa@a.com;bb@a.com;cc@a.com
$newstr = strtok($str,";")
while($newstr )
echo $newstr;
$newstr = strtok(";")
串.
格式:substr($str,start[,length])
$str :指定的字符串
strat :起始位置
length :取出的字符串的长度.该参数可选
字符串比较
①. 、strcmp() 字符串比较, 返回值为0 ,正数和负数
注意:比较的字符串是区分大小写的
小写
字符串查找
①. 、strstr() 在指定的字符串中查找指定的字符
$domain = strstr($email,"@");
注意:如果含有多个,则从第一次出现的位置
开始输出,若没有则返回FALSE
用处:取路径中文件名
$path = "c:\\a\\b\\aa\\a.html";
$filename = strrchr($path,"\\");
echo $ filename;
定位字符串
①. 、strpos() 在指定的字符串中查找子字符串第
一次出现的位置,找不到返回false
如:echo strpos("Hello","l")
出现的位置
字符串替换
①.、str_replace() 将新的字符串替换目标字符串
中指定的字符串
格式:str_replace($search,$replace,$subject)
如:
$subject = "Hell jack";
echo str_replace("Hell","Hello:",$subject);
$search:要被替换的字符串
$replace:替换的字符串
$subject:目标字符串
格式:substr_replace($Str,$rep,$start[,length])
$str :原始字符串
$rep :替换后的新字符串
$start :起始位置
$length :替换的长度,该项可选
如:$subject = "Hell jack";
echo substr_replace($subject,"Hell",1);
// 结果:HHell
PHP函数
Author:陈庆平(Andych)
①.、定义
①.)无须在引用函数之前定义
①.、echo()函数
功能:输出一行字符串
格式:echo "字符串";
格式:print "字符串";
功能:包含并运行指定的文件 .
格式:include "a.php";
说明:如果上面的函数用在条件语句中,一定要写在{}内.
被包含的文件中可以使用return 语句.
If($a==$b)
include "a.php";
include "b.php";
自定义函数
格式:
根据函数是否包含参数:无参函数 和 有参函数
例:定义函数,计算100以内偶数之和
function func_sum()
$sum = 0;
for($a=0;$a=100;$a++)
func_sum(); //调用函数
①.)按值传递
例:写一函数,求任何两个数的和
function func_name($a,$b)
$sum = $a + $b;
echo $sum;
$myNum = 100;
function func_mul($a)
func_mul($myNum); //函数调用,带地址符号
echo $myNum;
低版本不默认支持地址传递,修改如下参数php.ini
定义函数时,给参数赋值;在调用函数若不指定参数内容,
则自动调用参数默认值.
例:
function func_def($style="默认值")
echo $style;
func_def(); //不带参数,输出 "默认值"
func_def("赋给参数"); //给参数,输出 "赋给参数"
功能: 函数返回值
格式: return "值"
function func_returnval()
return "return value";