周郑

PHP与JAVA在数组使用上的区别

发布时间:7年前浏览量: 3084 ℃评论数:暂未开放

PHP与JAVA在数组使用上的区别

1、定义时数据大小

        (1)JAVA:需要先知道数组的基本类型、数组的大小。如:定义长度为3的int数组int[] intValue = new int[3],定义之后,我们在向其赋值或者在定义时候直接赋值。如:int[] intVlaue = {1,2,3};   

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

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

        $array_test[0] = 1;

        $array_test[1] = 2;

        $array_test[2] = 3;

        $array_test[3] = 4;

2、数组下标

          (1)JAVA无论是c++还是java。数组的下标只能是数字,从0开始,到数组的长度-1;

          (2)在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没有这个功

3、使用时候的不同

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

         (2)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):对每个元素应用回调函数进行处理




青年方舟

微信扫码打赏

打赏排行榜

| 施主 | 时间 | 方式 | 金额 |

曾 俊 2020-02-16 微信打赏 ¥10.00

王 强 2020-01-24 微信打赏 ¥5.00

莫国成 2019-07-20 微信打赏 ¥ 50.00

说明:打赏记录每日24:00:00更新,50%用于无名公益!

1 2 3

手机扫码访问