刚看了php的教程,由于php版本的问题发现数组这边有地方可以研究
针对 php5.2.5 做了几个实验发现:
1、
$arr
=
array
(
"
a
"
=>
1
,
"
b
"
=>
2
,
"
c
"
=>
3
);
但是如果这样定义数组会报编译错误:
$arr
=
array
(
"
a
"
=
1
,
"
b
"
=
2
,
"
c
"
=
3
);
所以定义数组的时候只能用 =>
2、
$arr
=
array
(
"
a
"
=>
1
,
"
b
"
=>
2
,
"
c
"
=>
3
);
echo $arr [ 0 ];
echo $arr [ 1 ];
echo $arr [ 0 ];
echo $arr [ 1 ];
打出来的是一片空白,这样才打的出来:
echo
$arr
[
"
a
"
];
3、增加元素或修改元素的时候只能用 = 了,不能用 =>
$arr
=
array
(
"
a
"
=>
1
,
"
b
"
=>
2
,
"
c
"
=>
3
);
$arr [ " c " ] => 6 ;
$arr [ " c " ] => 6 ;
像这样在以前的版本中也许可以使用,但是到了 5.2.5 就会出现编译错误
增加元素或修改元素要像以下这样写:
$arr
=
array
(
"
a
"
=>
1
,
"
b
"
=>
2
,
"
c
"
=>
3
);
$arr [ " d " ] = 4 ;
$arr [ " c " ] = 6 ;
$arr [ " d " ] = 4 ;
$arr [ " c " ] = 6 ;
删除元素要使用 unset
unset
(
$arr
[
"
c
"
]);
4、做个实验,猜猜这样打出来是什么:
$arr
=
array
(
"
a
"
=>
1
,
2
,
"
b
"
=>
3
,
4
);
$arr [] = 5 ;
foreach ( $arr as $key => $value )
{
echo " key:$key value:$value<br> " ;
}
$arr [] = 5 ;
foreach ( $arr as $key => $value )
{
echo " key:$key value:$value<br> " ;
}
结果:
key:a value:1
key:0 value:2
key:b value:3
key:1 value:4
key:2 value:5
这样就很明了,只有在用户没有定义键的时候 php 才会自动使用从0开始的数字作为键
5、php 中的数组是有指针的,可以对数组进行向前向后操作
$arr
=
array
(
"
a
"
=>
1
,
3
,
"
b
"
=>
2
);
// 创建完数组后默认指针指在第一个元素
echo current ( $arr ) . " <br> " ;
// 前进一个位置
echo next ( $arr ) . " <br> " ;
// 整理的默认原则是从小到大
sort ( $arr );
// 整理完后数组指针又停在第一个元素
echo current ( $arr ) . " <br> " ;
echo next ( $arr ) . " <br> " ;
// 后退一个位置
echo prev ( $arr ) . " <br> " ;
// 创建完数组后默认指针指在第一个元素
echo current ( $arr ) . " <br> " ;
// 前进一个位置
echo next ( $arr ) . " <br> " ;
// 整理的默认原则是从小到大
sort ( $arr );
// 整理完后数组指针又停在第一个元素
echo current ( $arr ) . " <br> " ;
echo next ( $arr ) . " <br> " ;
// 后退一个位置
echo prev ( $arr ) . " <br> " ;
输出:
1
3
1
2
1