【Java转php】数组篇

LZ之前一直学习Java,最近刚转php,将学习的笔记记录下来。


1.定义

       个人首先觉得,php中的数组与Java相比,有个区别很大的地方就是定义。

数组大小:想想,我们在Java要定义一个数组,首先要知道:数组的基本类型、数组的大小。如果定义一个长度为3的int数组:

int[] intValue = new int[3];

定义之后,我们在向其赋值或者在定义时候直接赋值。

int[] intVlaue = {1,2,3};   

但是无论如何,我们可以看到,在Java中,如果要用一个数组,必须一开始就确定它的大小。(印象中c、c++利用指针并不需要)。

但是,在php中,则并不需要。需要的时候直接定义,自动追加到数组。(在这个性质上来说,有点像java里面的list)

        $array_test[0] = 1;
        $array_test[1] = 2;
        $array_test[2] = 3;
        $array_test[3] = 4;

数组下标:

       无论是c++还是java。数组的下标只能是数字,从0开始,到数组的长度-1;然而,在php中下标也可以使字符串。

 $person = array(
                                'name' => 'michael',
                                'school' => 'pt',
                                'age' => 15,
                                'sex' => 'boy'
                        );
        $person['weight']= '60kg';

php的这种性质,类似于Java中的map,但是又会有区别。下面举个例子:

$contact = array(
                                1,
                                14 => 'mr mm',
                                'company A',
                                'Beijing',
                                14 => '110',
                                '114@qq.com'
                        );

他输出的结果:

 array(5) { [0]=> int(1) [14]=> string(3) "110" [15]=> string(9) "company A" [16]=> string(7) "Beijing" [17]=> string(10) "114@qq.com" } 

我们看到输出的结果:由于下标14被申明过,所以后面的下标会根据当前的索引的最大值递增。Java中的map没有这个功


2.使用

回忆Java中对于数组(或者map)最常见的操作:遍历、获取map的Valus、key、长度、

遍历:

   php中比较常见的遍历方式有两种,一种是用for,另一中是foreach。

   其中for的用法,基本上和Java类似。foreach有些区别。

   php中foreach:

foreach( array_expression as $param)

统计:

  php中使用count()函数

获取vlaus

  array_values

获取keys

   array_keys()

拆分

  array_slice()

合并

  array_merge()

 上面是我进场会用到的函数。但是还有几个函数,自己觉得功能不错,记下来、

排序:sort()

判断数组中是否存在某个值:in_array()

两个比较特殊的函数:array_filter()和array_walk();

array_filter(array input,callbck()):通过回调函数去过滤array数组中的元素。

array_walk(array_input,callback funname):对每个元素应用回调函数进行处理


3.删除数组元素:

unset()

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值