2016年12-09php函数
php函数 函数名,参数列表,函数体 php时弱类型语言返回类型可以没有
function 函数名()
{
}
1.简单函数
四要素:返回类型,函数名,参数列表,函数体
function Show()
{
echo "hello";
}
Show();
2.有返回值的函数
function Show()
{
return "hello";
}
echo Show();
3.有参数的函数
function Show($a)
{
echo $a;
}
Show("你好");
4.可变参数的函数
function Sum()
{
$attr = func_get_args();
$n = func_num_args();
$sum = 0;
for($i=0;$i<$n;$i++)
{
$sum += $attr[$i];
}
echo $sum;
}
Sum(1,2,3,4);
数组
$attr = array(1,2);
$attr1 = [1,2,3,4,5];
$attr2[0] = "hello";
$attr2[1] = "world";
var_dump($attr2);
1.索引数组
$attr = array(1,2,3);
var_dump($attr);
2.关联数组
$attr1 = array("one"=>1,"two"=>2,"3"=>3);
var_dump($attr1);
echo $attr1[3];
特点:
1.数组里面可以存储任意类型数据
2.数组并不是在内存里面开辟一块连续的区域存储
遍历数组
1.for循环遍历,只能遍历索引数组
for($i=0;$i<count($attr);$i++)
{
echo $attr[$i]."<br>";
}
2.foreach遍历,索引关联都可以遍历
foreach($attr as $v)
{
echo $v."<br>";
}
foreach($attr1 as $k=>$v)
{
echo "{$k}--{$v}<br>";
}
3.each()和list()配合着来遍历数组var_dump(each($attr1)); 取数组里面当前指针指向的元素
var_dump(each($attr1));
var_dump(each($attr1));
list($a,$b,$c,$d)=$attr; 将右侧数组里面的元素赋值给参数列表里面的变量
while(list($k,$v) = each($attr1))
{
echo "{$k}--{$v}<br>";
}
4.使用指针的方式来遍历数组
echo current($attr1); //取指针指向的当前元素的value值
echo key($attr1); //取指针指向的当前元素的key
next($attr1); 将指针向下调一个
next($attr1);
prev($attr1); 将指针向上调一个
echo key($attr1);
end($attr1); 将指针调向最后一个元素
reset($attr1); 将指针复位
for($i=0;$i<count($attr1);$i++)
{
echo key($attr1);
next($attr1);
}
do
{
echo key($attr1);
}
while(next($attr1))*/
$attr = array(1,2,3);
var_dump($attr);
常用函数
1.随机数和时间
echo rand(); 随机数生成器
echo rand(0,10); 生成某个范围内的随机数
echo time(); 取当前时间戳
echo date("Y-m-d H:i:s",1381253766); 格式化显示时间
echo strtotime("2013-10-09 01:36:06"); 将字符串转换为时间戳
2.字符串函数
$str = "Hello|World|ni|hao";
$attr = array("aa","bb","cc","dd");
echo strlen($str); 取字符串的长度
var_dump(strcmp($str,"hello world")); 比较两个字符串
echo strtolower($str); 转小写
echo strtoupper($str); 转大写
var_dump(explode("|",$str)); 拆分字符串,返回数组
echo implode("--",$attr);将数组元素拼接成一个字符串
echo substr_replace($str,"***",0,5); 替换指定位置的字符串
echo str_replace("|","***",$str); 查找替换
echo substr($str,0,5); 截取字符串
3.正则表达式
$str =<<<A
A;
echo preg_replace("/\d/","#",$str); 替换
var_dump(preg_split("/\d/",$str)); 拆分
preg_match("/\d/",$str,$arr); 匹配第一个满足正则的字符串
preg_match_all("/\d/",$str,$arr); //匹配所有满足正则的字符串
var_dump($arr);
preg_match_all("/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/",$str,$arr)邮箱正则;
var_dump($arr);
4.数组方法
$attr = array(1,2,3,4,5,1);
var_dump(in_array(6,$attr)); 判断某个值是否在数组里面
var_dump(array_reverse($attr)); 翻转数组
echo count($attr); 取数组长度
var_dump(array_unique($attr)); 去重
unset($attr[1]); 删除数组的元素
var_dump(array_values($attr)); 重新索引
var_dump(array_merge($attr,array(5,6))); 合并数组
array_push($attr,"hello"); 向数组里面添加一个元素,返回索引。
例子
<?php
$attr = array(
array("n001","汉族"),
array("n002","回族"),
array("n003","维吾尔族")
);
echo"<select>";
foreach($attr as $v)
{
echo"<option>$v[1]</option>";
}
echo"</select>";
?>
效果显示为: