一、函数
函数三要素:1.函数名2.参数列表3.函数体
1.简单函数
1
2
3
4
5
|
function
Show()
{
echo
"hello"
;
}
Show();
|
运行结果就是在页面显示hello
2.有返回值的函数
1
2
3
4
5
|
function
Show()
{
return
"hello"
;
//返回值
}
echo
Show();
|
运行结果就是返回值return中的值
3.有参数的函数
1
2
3
4
5
|
function
Show(
$a
)
{
echo
$a
;
}
Show(
"你好"
);
|
运行结果不是形参,而是实参中的:你好
4.可变参数的函数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
function
Sum()
{
$attr
=func_get_args();
//获取get 用户传的 参数args: func_get_args();
$n
=func_num_args();
//获取数量func_num_args();
//遍历参数
$Sum
=0;
for
(
$i
=0;
$i
<
$n
;
$i
++)
{
$Sum
+=
$attr
[
$i
];
}
echo
$Sum
;
}
Sum(1);
//数值可以换,这样相应的也会变数值
|
运行结果就是数值中的值
二、数组
注意:1.可以存储任意类型数据;
2.不是在内存中开辟一块连续的区域存储(在内存中是不连续的)
1
2
3
|
$attr
=
array
();
//定义空数组
$attr1
=[1,2];
//定义数组
$attr2
[0]=
"hello"
;
//赋值定义数组:0索引赋值“hello”
|
A.数组类型:
1.索引数组
1
2
|
$attr
=
array
(1,2,3,4);
echo
$attr
[2];
//输出索引号所指的值
|
2.关联数组
1
2
|
$attr1
=
array
(
"one"
=>1,
"two"
=>2,
"3"
=>3);
//k是one字符串,value是1值,=> 符合
echo
$attr1
[
"one"
];
//取值
|
1
|
echo
$attr1
[3];
//没有问题的,因为可以自动转换类型,所以不会出错
|
B.遍历数组
1.for循环:只能遍历“索引数组”
//count() 数组长度
2.foreach 遍历:关联数组和索引数组都可以遍历
1
2
3
4
5
6
|
关联数组:<br>
$attr1
=
array
(
"one"
=>1,
"two"
=>2,
"3"
=>3);
foreach
(
$attr1
as
$a
)
{
echo
$a
.
"<br>"
;
}
|
1
2
3
4
5
|
索引数组:<br>
$attr
=
array
(1,2,3,4);
foreach
(
$attr
as
$a
)
{
echo
$a
.
"<br>"
;
}
|
1
2
3
4
5
|
$attr1
=
array
(
"one"
=>1,
"two"
=>2,
"3"
=>3);
foreach
(
$attr1
as
$k
=>
$a
)
{
echo
$a
=
"{$k}--{$a}<br>"
;
}
|
3.each()和list() 配合遍历 取数组中当前指针指向的元素
1
2
3
4
|
$attr1
=
array
(
"one"
=>1,
"two"
=>2,
"3"
=>3);
var_dump(each(
$attr1
));
//第一个元素 "one" 和 1
var_dump(each(
$attr1
));
//第二个元素 "two" 和 2
var_dump(each(
$attr1
));
//第三个元素 "3" 和 3
|
1
2
3
|
$attr
=
array
(1,2,3,4);
list(
$a
,
$b
,
$c
)=
$attr
;
//赋值,赋的是attr数组中的数值 list方法是在等号左侧
echo
$a
;
|
4.使用指针方式
//指针位置没有变
//current(); //取指针指向的当前元素的value值
//key(); //取指针指向的当前元素的key值
//变指针位置
//next(); //执行一次,就向下调一个
//prev(); //执行一次,就向上调一个
//end(); //指针直接调到最后
//reset(); //指针复位