Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >将数组转换为键值对

将数组转换为键值对
EN

Stack Overflow用户
提问于 2014-01-13 01:29:36
回答 3查看 1.4K关注 0票数 1

我有下面的数组,

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Array
(
    [Char100_1] => Array
        (
            [0] => Array
                (
                    [Char100_1] => Mr S Kumar
                )

            [1] => Array
                (
                    [Char100_1] => Mr S Kumar2
                )
        )

    [Char100_13] => Array
        (
            [0] => Array
                (
                    [Char100_13] => 159.9
                )

            [1] => Array
                (
                    [Char100_13] => 119.9
                )
        )

    [Char100_14] => Array
        (
            [0] => Array
                (
                    [Char100_14] => 191.88
                )

            [1] => Array
                (
                    [Char100_14] => 143.88
                )
        )
)

它是根据数据库查询结果和一些循环动态创建的。

现在我想把这个数组转换成如下所示,

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Array
(
    [0] => Array
    (
        [Char100_1] => Mr S Kumar
        [Char100_13] => 159.9
        [Char100_14] => 191.88
    )
    [1] => Array
    (
        [Char100_1] => Mr S Kumar2
        [Char100_13] => 119.9
        [Char100_14] => 143.88
    )
)

我试过把它们循环起来,但不起作用。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php
    /* database process to create array */
    $contentArray = array();
    foreach($newData['DataField'] as $ndata) :
        $responsedata = getAppContent($appid, $ndata);
        while($haveresult = mysql_fetch_assoc($responsedata))
        {
             $contentArray[$ndata][] = $haveresult;
        }
    endforeach;

    /* for getting resulting array start */
    $newdataArray = array();

    foreach($contentArray as $field => $value):
        $newdataArray[$field] = array();
        foreach( $value as $val ) :
             $newdataArray[$field] = $val;
        endforeach;

    endforeach;
?>
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-01-13 01:50:13

如果您无法更改查询(如注释中所建议的那样),那么以下内容应该可以工作:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$output = array();
foreach ($array as $a) {
  foreach ($a as $k => $b) {
    if (empty($output[$k])) {
      $output[$k] = array();
    }
    $output[$k] += $b;
  }
}
票数 1
EN

Stack Overflow用户

发布于 2014-01-13 02:59:37

我注意到你正在转换数组。也就是说,所有的零下标值在一起,所有一个下标值一起。

因此,你的外部下标应该是'0‘和'1’。这些在内部循环中是可用的。因此,内循环索引变成了外部数组索引。的内部循环值,这是一个数组,您需要接受“当前”值。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/* for getting resulting array start (PHP 5.3.18) */
$newdataArray = array();

foreach($contentArray as $field => $value):
    foreach( $value as $idx => $val ): // $idx takes value 0 or 1. $val is an array
      $newdataArray[$idx][$field] = current($val);
    endforeach;

endforeach;
print_r($newdataArray);
票数 1
EN

Stack Overflow用户

发布于 2014-01-13 01:38:25

只要所有数组都包含相同数量的值,就可以使用for循环:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$NewDataArray = array();

for ($a = 0; $a < $Numberofvaluesineacharray; $a++){
$NewDataArray[$a] = $NewDataArray[$array1[$a], $array2[$a],.....arrayn[$a];
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21087702

复制
相关文章
java键值对_Java 读写键值对
public static void main(String[] args) throws IOException {
全栈程序员站长
2022/07/23
2.1K0
Qt中QMap键值对基本用法(键值对)
T1为键值对中的键key,T2为键值对中的值。通过键值对中的键可以搜索到值。一般来说,键值对中的键是唯一的,不可重复,而值没有要求,可以重复。并且QMap具有自动排序功能,对输入的键进行排序。
全栈程序员站长
2022/09/02
3.6K0
将tensor转换为图像_tensor转int
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/07
11.6K0
亲,您的json键值对用双引号了吗? 转
JSON是一种取代XML的数据结构,和xml相比,它更小巧但描述能力却不差,由于它的小巧所以网络传输数据将减少更多流量从而加快速度。 那么,JSON到底是什么? JSON就是一串字符串 只不过元素
donghui
2019/04/19
1.8K0
键值对操作
键值对 RDD 通常用来进行聚合计算。我们一般要先通过一些初始 ETL(抽取、转化、装载)操作来将数据转化为键值对形式。键值对 RDD 提供了一些新的操作接口(比如统计每个产品的评论,将数据中键相同的分为一组,将两个不同的 RDD 进行分组合并等)。
全栈程序员站长
2022/07/23
3.5K0
键值对操作
如何正确的将数组转换为ArrayList?
对于不可变集合,你可以使用ImmutableList类及其of()与copyOf()工厂方法:(参数不能为空)
崔笑颜
2020/06/08
3.4K0
PHP 如何从关联数组移除指定的键值对
如果要移除多个键值对,就要调用多次的 unset 函数,所以把他合并成一个函数 wpjam_array_excerpt:
Denis
2023/04/14
2.2K0
outputstream转byte数组_int类型转换为byte类型
Java中将inputstream输入流转换成byte[]字节数组
全栈程序员站长
2022/11/08
7.8K0
java中如何将数组转换为List
如何将其转换为ArrayList <Element> arraylist = ???
硬核编程
2020/07/23
3.2K0
Java将列表转换为数组,反之亦然
在本文中, 我们将快速学习如何将Java List (例如ArrayList )转换为数组,反之亦然。 如果您希望总体上了解有关ArrayList的更多信息,请随时阅读我们有关Java ArrayLists的文章。
用户7886150
2021/04/28
3.4K0
Js根据相同值将数组转换为二维数组
let list = [{ id: 1 }, { id: 1 }, { id: 2 }] let arr = Objec
明知山
2021/06/29
5.5K0
mysql整型转字符串_java中如何将字符串转换为字符数组
select * from A order by cast(name as unsigned);
全栈程序员站长
2022/09/27
23.5K0
c++如何将字符串转为数组(将字符串转换为数组)
string [] imgArr=imgData.Split(new char[]{‘,’});
全栈程序员站长
2022/07/29
7.1K0
[C-C++]将数值变量转换为数组(int/double/float 转化为 char*)
原文链接:https://blog.csdn.net/humanking7/article/details/80175934
祥知道
2020/03/10
1.9K0
java map 转string_java-将Map <String,Object>转换为Map <String,String>
Map map = new HashMap(); //Object is containing String
全栈程序员站长
2022/08/25
12.4K0
键值对RDD数据分区
所以主要了解HashPartitioner分区器,RangePartitioner分区器及自定义分区器。
用户1483438
2022/05/06
2.3K0
【Python】字典 dict ② ( 字典常用操作 | 字典 新增 / 更新 键值对元素 | 字典 删除 键值对元素 | 字典 清空 键值对元素 )
上面的语法 , 就是向 字典变量 中添加新的 键值对元素 键Key: 值Value ;
韩曙亮
2023/10/11
3440
将数组复写到一个新的数组里面(变相改变数组的key键值)
同事写项目的时候遇到这样一个问题,写一个下拉框框的时候,是一个简单的级联的下拉框,所谓的级联的就是后一个下拉框的值是根据前一个不同的选择得到的,其实这个呢很简单,就是前面的select点击的时候触发一个函数,将点击的value给后端,拿到返回的obj赋值到后一个select里面就可以了,一般都是这么做的,我们也是,但是这次是第一个下拉框下面四个值,前三个点击以后返回的数据格式都是一样的,最后一个是不一样的,那么我们后一个select渲染的时候就不行了,因为element组件的option是不可以在select里面做v-if判断的,所以这时候就比较棘手了,那么这个时候就需要重写最后一个值的返回数据了,重写为和前三个一样的格式就可以了,这也是今天我会写的。
何处锦绣不灰堆
2020/05/29
8950
PHP 如何从关联数组中移除并返回指定的键值对
该功能已经整合到 WPJAM Basic 插件中,并已免费提供下载,简单勾选或者设置下即可开启!
Denis
2023/04/14
5.1K0
点击加载更多

相似问题

将数组转换为键值对

52

javascript -将数组转换为键值对

50

将数组转换为Hashmap (键值对)

21

将状态数组值转换为键值对

122

将数组转换为键值对的对象

24
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文