魔术方法
__FUNCTION__ 获取函数的名字
function display()
{
echo(__FUNCTION__);
}
display();
匿名函数 自动调用
array_filter(数组名,匿名函数(参数){函数体})
例子:
$arr = [1,2,3,4];
$ars = array_filter($arr,function($x){
//获取偶数
if($x % 2 == 0)
{
return $x;
}
});
print_r( $ars);
function_exists() 判断是否是个函数
file_exists() 判断是否是个文件
递归函数 有递有归 自己去调用自己本身
递归主要用于 分类 栏目
例子:
function num($m)
{
echo $m;
if($m > 1)
{
num($m - 1);
}
}
num(10);
php 数组(重点 ☆)
js 申明一个数组 Array() 首字母一定要大写
php 申明一个数组 array() 不需要new这个关键字
第一种声明方式:
以数组的索引(下标)形式
打印数组 print_r() var_dump()
print_r() var_dump() 打印输出(打印输出数组和对象) echo() 打印数字或者字符串
print_r() 打印输出 打印整个结果 调试
var_dump() 打印输出 会输出详细的信息 数据长度和类型 调试
数组的特点:
php数组下标间隔不会去填充
php如果没有下标,默认会给你添加下标
php数组默认下标从0开始
php数组下标可以自定义 (不能用中文,也不能用关键字) ☆
第二种声明方式:
数组的特点:
默认没有给下标,默认下标从0开始排
可以给下标,也可以不要下标 给下标的格式 key=>val <=> 1=>18
给了自定义的下标(字符串的下标(如果是数字后面的按照前面的继续排)),后面没有给下标,默认从0开始
如果前面给定数字类型的下标,后面没有给定的下标默认从前面给定数字继续排下去
写法 值与值之间用逗号隔开,最后一个值得逗号可加可不加
☆ key(键)=>value(值)
tips:
数据索引
这种写法必须php的版本是4.0以上才能使用
可以自定义下标
php数组的循环
foreach(循环数组 as $k=>$v) 循环 只供给数组或者对象使用
//$k=>$v $key=>$value ☆
foreach 循环时里面只有一个变量,默认都是读取value值
冒号的那种写法通常用在与html交互的时候使用,为了与html区分开 ☆
for 循环
list() 集合 数组函数 把下标作为变量输出,也就是修改下标
each() 指针循环 循环输出的时候 一定要写全 echo ($a['key']); echo ($a['value'])
count() 统计数组的长度 ☆
php二维数组 二维数组以上的数组叫多维数组
foreach() 只供给数组或者对象使用
foreach() 2层循环的值不能重复,重复会导致覆盖
is_array()//判断是否是个数组
in_array()//判断这个值是否在数组里面
模拟一个从数据库读出来的数据 (数据库读出来的数据都是二维数据)
php超级数组 严格区分大小写 重点 ☆
get post 是http请求方式
($_GET) $_POST $_REQUEST 获取表单提交的值
action 交互的地址 action="交互程序地址" 中间的交互作用
method="" 提交的方式 get方式 post方式
表单里面的name属性 以后要对应数据库里的字段 表单里面的name属性会作为数组的下标输出
http://127.0.0.1/demo3/10.php?username=iuser&password=678 路由后面紧跟参数第一个参数用?隔开 后面再紧跟参数用&符号隔开
method="get" 表单以get方式提交 get 显示提交 提交的数据量不大 提交的数据不安全
print_r($_GET);
//$_GET['a'];
post :隐式提交 提交的数据量较大 提交的数据比较安全 提交数据时不会在地址栏显示提交的数据
//获取文本框输入的内容$_POST['password']
$_REQUEST 既可以接收post提交的数据也可以接收get提交的数据 不管form表单是用什么方式提交的 他都接收 提交的数据最不安全
//print_r($_REQUEST)
简单登录
empty() 判断值是否为空
header()可以设置
header("跳转地址")php跳转功能 跳转到php程序
常用数组函数 一 ☆
count():统计元素个数
array_flip() 交换数组中的键和值 返回的是数组
array_values() 获取数组中的值,返回的是个数组
array_keys() 获取数组中的key值,返回个数组
in_array("要判断的值",数组) 判断某个值是否在这个数组里面
array_shift(数组) 删除数组中的第一个元素 返回值是被删除的元素 删除第一个
array_unshift(添加数组,元素) 向数组开头插入一个或者多个元素 返回值是新数组的长度 开头新增
array_push(要插入数组,元素) $arr[] = 1向数组的末尾压入一个或者多个元素 返回值是新数组的长度 末尾新增
array_pop() 删除数组的最后一个元素 返回的是删除的元素 删除最后一个
常用数组函数 二 ☆
implode(分隔字符,待分隔数组) 把数组的值以字符串的形式输出出来
explode(分隔字符,待合并字符串)
array_reverse:数组$arr 倒叙输出
shuffle:数组随机顺序输出 a 随机输出
rray_search:获取值"小明"在数组$arr2的键值 search:搜索 获取键值
超级数组: $_REQUEST $GLLOBALS $_SERVER
IP :$_SERVER['SERVER_ADDR']
服务器端口"$_SERVER['SERVER_PORT']
$_SERVER php提供的超级数据里面自带很多数据
print_r($_SERVER['SERVER_ADDR']); //获取ip地址
print_r($_SERVER['SERVER_PORT'])//获取服务器端口
php里面字符串函数 ☆
substr()截取字符串函数
substr(截取内容,起始下标,截取位置)
$str(截取内容,-1) 从后往前截取
strrpos (截取内容,"你要查找的内容") //获取最后出现位置
str_pad(填充的目标,把目标填充到多长(总共个数),用什么来填充,填充的位置)
strtolower 转小写
strtoupper 转大写
ucfirst 字符串首字母大写
ucwords 每个单词首字母大写
补充:
<hr/> 分隔线