一维数组对象转成二维数组

一、关于PHP把装着item为对象的一维数组转成二维数组的疑问

背景:新增帖子的时候,选择标签时,可以选择多个,后端接口是需要传入的是一个二维数组。

/**
 * @Title   修改精选内容
 * @Params  $id         记录ID
 * @Params  $tags       标签组 array(
 *                                  array(
 *                                      ‘name‘   => ‘桌面文化‘,
 *                                      ‘tag_id‘ => ‘2‘
 *                                  )
 */
public function update($id = 0,$tags = array())

困惑:后端接口需要传入一个二维数组,我在前台ajax传递一个里面存放对象的一维数组过去,根据php语法,在php controller自动转成二维数组。

js本没有二维数组,可以用一个一维数组,里面放着的是对象。这样来达到目的。

我从前台传递过去的内容:

图一:

我在php controller接收到的内容:

图二:

it‘s obviously,php在接收到这个一维数组时,把一维里面的对象转成了数组。nice~这样我就可以直接传到接口了。

代码是这样的:

map把读取到的当前对象,得到它的属性放进一个对象里面,然后再把这个对象装进数组。就可以了哦

$tags.find(‘span‘).filter(‘.active‘).map(function(i) {
 946                 var $this = $(this);
 947                 var tagid = $this.attr(‘data-tagid‘),
 948                     name = $this.attr(‘data-name‘);
 949                 var tagItem = {};
 950                 tagItem[‘name‘] = name;
 951                 tagItem[‘tag_id‘] = tagid;
 952                 tagsArr[i] = tagItem;
 953             });957
 958             var data = {
 959                 handler: type,969                 tags: tagsArr
 970             };

php直接接收这个数组就好。var_dump出来看到的就是我们图二那样的数据结构。

二、jquery的方法,filter()和map(),一个用来过滤,一个用来匹配当前集合中的每一个元素,产生一个包含新的jQuery对象。

文档里:如果你想处理一个简单的数组或对象中,使用jQuery.map()代替。

由于返回值是一个jQuery包裹的数组,所以通常会使用get()方法将其转成普通的数组。

感觉要查询到所有选中的标签也是好用的,选中后可以把它放进一个数组。就比如现在要获取多个选中的标签

记一记,下次要用,可以直接拿代码用0.0

时间: 2024-11-05 14:51:07

一维数组对象转成二维数组的相关文章

把一维数组转换成二维数组

有一个一维数组,想把它变成m*n形式的二位数组, $arr = array(....); // 一维数组 $m = ceil(count($arr)/n); $array = array(); for ($i = 0, $j = 0; $i < $m; $i++) { for ($k = 0; $k < n; $k++) { $temp = $arr[$j++]; if($temp) $array[$i][$k] = $temp; } } 把一维数组转换成二维数组

php将一个二维数组按照某个字段值合并成一维数组,如果有重复则将重复的合并成二维数组

版权声明:本文为博主原创文章,未经博主允许不得转载. 最近工作中碰到一个问题,用PHP将一个二维数组按照二维数组中的各个项中的某个特定字段值合并成一维数组,如果有重复则将重复的合并成二维数组,生成的二维数组的第一维的键是特定字段的值,二维的键可以是随机索引,也可以是其中的另一个字段的值.其实这个需求经常会在工作中碰到,只是碰到的时候一个有重复的就直接用之前的覆盖后面的或者用之后的覆盖之前的,这样很容易就可以处理了.很少碰到这种有一维数组又有二维数组的情况,先上代码: $a = array( 0

将一维数组转化成二维数组

<nz-table #colSpanTable [nzData]="temp" nzBordered> <tbody> <ng-container *ngFor="let row of temp;let i = index"> <tr> <td *ngFor="let title of row">{{title.AreaCodesName}}</td> </tr>

Android 在资源文件(res/strings.xml)定义一维数组,间接定义二维数组

经常我们会在资源文件(res/strings.xml)定义字符串,一维数组,那定义二维数组?直接定义二维数组没找到,可以间接定义. 其实很简单,看过用过一次就可以记住了,一维数组估计大家经常用到,但是二维数组应该比较少用,因为只能间接定义二维数组. 数组的定义: 数组就是一次性定义相同数据类型的一组变量数组定义. 数组的特点: 1.数组是相同数据类型的元素的集合. 2.数组中的各元素是有先后顺序的,它们在内存中按照这个先后顺序连续存放在一起. 3.数组元素用整个数组的名字和它自己在数组中的顺序位

java list map转换成二维数组

/** * *@Title: ListToArray *@Description: list列表转换成二维数组 *@Author: Administrator *@Since: 2018年1月7日下午2:01:25 *@param: @param list *@param: @param KeyLenght每行的列数,按最长的计算 *@param: @return *@return Object[][] */ private Object[][] ListToArray(List<Map<St

一维数组与二维数组的拼接与二维数组增加行

一维数组与二维数组的拼接 numpy有很多的拼接函数.比如hstack和vstack等.网上又很多这样的总结帖子.但是两个数组能拼接的条件就是得满足两个数组的维度要相同.所以二维数组和一维数组拼接的时候需要使用newaxis将一维数组转化为二维数组,也就是shape从(3,)转化为(3,1). a = np.array([1,2,3]); b = np.array([[1],[2],[3]]); #将一维数组a转化为二维数组 a = a[:,np.newaxis]; c = np.concate

C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | IT宅.com

原文:C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | IT宅.com C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | IT宅.com C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 本文由 arthinking 发表于315 天前 ⁄ itzhai.com原创文章 ⁄ C语言 ⁄ 评论数 3 ⁄ 被围观 1,775 views+ 指针数组: 在一个数组中,如果它的元素全部都是指针类

数组合并函数,二维数组相同字段合并到一起。

一般从数据库中提取数据时,会遇到各种各样类型的数据,要求也不尽相同.自己这两天开发的时候遇到一个很纠结的问题,如下: 比如一个二维数组是这样的: Array ( [0] => Array ( [uid] => 231 [username] => 123456 [active] =>aaaa [transfer] =>1111 ) [1] => Array ( [uid] => 231 [username] =>123456 [active] => bb

例看二维数组,指针,二维数组指针

例程: /****************************************************** * * 文件名:例程 * * 文件描述:例看二维数组,指针,二维数组指针 * * 创建人:Jesse * * 版本号: * * 修改记录: * ******************************************************/ #include <stdio.h> #define ROW 3 #define LINE 3 void main(voi