首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PHP 数组:索引数组与关联数组

在静态语言(C、Java、Go)中,数组的定义通常是同一类型数据的连续序列,PHP 的数组从功能角度来说更加强大,可以包含任何数据类型,支持无限扩容,并且将传统数组和字典类型合二为一,在 PHP 中,传统的数组对应的是索引数组...,字典类型对应的是关联数组,这得益于 PHP 底层通过哈希表实现数组功能。...下面,我们就来简单介绍下 PHP 索引数组和关联数组的基本使用。 1、索引数组 基本使用 所谓索引数组指的是数组的键为隐式数字,并且会自动维护,就像静态语言的数组一样。...再打印布尔类型时,false 会被转化为空字符串,true 会被转化为 1,另外浮点型数字也会被转化为对应的字符串格式数据。 另外,PHP 数组底层是哈希表驱动,所以支持无限扩容。...2、关联数组 基本使用 PHP 没有字典(map/dict)这种数据类型,而是将其融入到数组中以关联数组的方式提供支持,与索引数组不同,关联数组通常需要显式指定数组元素的键,还是以「Laravel 精品课

5.8K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    PHP 关联数组操作太麻烦,试试这几个 WPJAM Basic 内置的数组处理函数

    PHP 有很多非常好用的数组处理函数,PHP 数组函数官方文档都有 80 多个,但是在使用过程,有一些数组的操作使用比较多,我就把这些函数整理成工具函数,然后整合到 WPJAM Basic 中,方便自己的二次开放时候使用...,现在整理放出来,如果你和我一样基于 WPJAM Basic 进行二次开发,也可以使用: wpjam_array_excerpt PHP 从关联数组中移除指定的键值对,一般使用 unset 函数,比如:...,比如后台字段提交的时候,我们希望过滤掉 null 的值,如果元素也是一个关联数组的时候,我们希望关联数组元素中的 null 的值也会过滤掉。...wpjam_array_pull 要从关联数组中移除并返回指定的键值,一般需要两步操作,先取出,然后 unset 数组中的键值对: $array = ['name' => 'Desk', 'price'...); // 合并到最后 $array = $array+$insert_array; // 插在最前面 由此可见,关联数组插入元素是无法指定位置的,只能插在最前或者最后面,所以这个函数就是实现向关联数组插入

    54950

    PHP 的数组

    数组就是一组数据的集合,把一系列数据组织起来。如果变量是存储单个值的容器,那么数组就是存储多个值的容器。数组每个实体包含一个键和一个值。 PHP的数组概念和python的元组和字典类似。...PHP的索引数组对应python的元组,PHP的关联数组对应python的字典。...本文包含 数组声明 数组输出 多维数组 遍历数组 字符串和数组的转换 统计数组中元素的个数 查询数组中指定的元素 获取数组中最后一个元素 向数组中添加元素 删除数组中重复的元素 1...."=>"mo","3"=>"mo"); 如果数组的键值是数组索引,那么就是数值索引数组,例如$name; 如果数组的键值是数值或者字符的混合索引,那么就是关联索引数组,例如$name1;...查询数组中指定的元素:array_search()函数用于在数组中搜索给定的值,找到后返回键值,否则返回false,在php4.2.0之前没找到会返回null。

    6.3K51

    ajax前端传多维数组到php后台,关联数组转json到后台方法

    很多人碰到过ajax传值时无法直接传数组,而百度的大多数都是不能用的 所以我想到了一个方法: ?...第一步:将数组转换为json字符串 这是一个技术性的问题,百度说的JSON.stringify(arr)是不能转换关联数组的,甚至索引数组也是有很多缺点 所以我特意封装了个js递归函数 function...,能把数组全部解析为字符串 这样就可以在ajax里面传值啦~~~ 第二步 : 但是这样转换成的json字符串是不完整的,不能直接解析出全部的数组 如图 ?...            $data_arr[$x] = $a;         }     }     return $data_arr; } 这样的话,后台接收到json字符串,用这个函数解析,就可以得到完整正确的多维数组了...json_decode解析 本文为仙士可原创文章,转载无需和我联系,但请注明来自仙士可博客www.php20.cn 上一篇:

    3.1K10

    指针与数组的关联3 --声明

    当我们在调用函数时,传递数组,就是把数组首元素的地址传递给函数,本质也就是给函数传递了一个指针变量。这时候我们会想那么数组是不是跟指针是一样的。...为了验证,我们可以给一个项目里创建一个新的源文件,里面创建一个指针变量和是个数组,然后在另一个文件中用数组的方法声明指针,在用指针的方法声明这个数组进行调试,看下结果会如何。     ...原因是我们在test1.c中定义的是一个数组,却在test.c中用指针声明引用,那么在*arr这个指针中存放的内容其实是 "hello world",这个字符串,指针能存放字符串吗?...是个乱码,这是因为我们输出的时候,拿到的是地址,把地址放到一个char类型的字符串里,等于把一个地址通过字符类型输出来了,自然是乱码。     这里我们便清楚地看到了指针和数组的差别了吧。...这个例子足以证明指针和数组的区别,指针的内容仅仅是个地址,而数组是个个数据的集合,他里面可以是地址(指针),也可以是其他类型的元素,而数组的地址其实也就个指针。所以说数组和指针其实有着本质的区别。

    85920

    c专题指针-----数组与指针的关联

    ,但是定义成数组后,数组中的4个元素地址肯定是依次相连的。...b):a[0]表示数组的首元素,也就是数组的第1个元素。...访问方式有2种:数组形式和指针形式。 (2)数组格式访问数组元素是:数组名[下标]; (注意下标从0开始)。...(3)指针格式访问数组元素是:*(指针+偏移量); 如果指针是数组首元素地址(a或者&a[0]),那么偏移量就是下标;指针也可以不是首元素地址而是其他哪个元素的地址,这时候偏移量就要考虑叠加了。...2、从内存角度理解指针访问数组的实质: (1)数组的特点就是:数组中各个元素的地址是依次相连的,而且数组还有一个很大的特点(其实也是数组的一个限制)就是数组中各个元素的类型比较相同。

    1.1K10

    PHP的多维数组排序

    熟悉PHP的小伙伴都知道有很多内置函数可以对数组进行排序操作或者自定义一些排序方法(冒泡)等等。 PHP排序函数 sort() 函数用于对数组单元升序排序。...ksort() 函数用于对数组单元按照键名升序排序。 krsort() 函数用于对数组单元按照键名降序排序。 以上函数都针对的是一维数组的排序。...=> 94] ]; 根据id进行升序排序 // 获取数组中id值 $ids = array_column($sortArr, 'id'); // 第一个参数就是需要排序key的值,传入后相当于先对 $ids...进行排序,然后根据排序后的$ids的key重新构建需要排序的$sortArr array_multisort($ids, SORT_ASC, $sortArr); print_r($sortArr);...key值排序 使用上一个例子的数组,并且多增加一个排序key。

    3.7K10
    领券