php 5.2.x 不被注意的细节: 数组篇

刚看了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 [ " a " ];

 


3、增加元素或修改元素的时候只能用 =  了,不能用 =>

$arr   =   array ( " a "   =>   1 , " b "   =>   2 , " c "   =>   3 );
$arr [ " c " =>   6 ;


像这样在以前的版本中也许可以使用,但是到了 5.2.5 就会出现编译错误
增加元素或修改元素要像以下这样写:

$arr   =   array ( " a "   =>   1 , " b "   =>   2 , " c "   =>   3 );
$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> " ;
}

 

结果:

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> " ;


输出:

1
3
1
2
1

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值