doulierong0334 2017-03-11 00:00 采纳率: 100%
浏览 104

php从数组中的相同键获取两个值

I want to keep both values with the same key, but rename the other one.

I tried array_merge() but it only keeps the last value.

Here is what the array looks like

[0] => Array
        (
            [process] => A
            [start] => 0
        )

[1] => Array
        (
            [process] => A
            [end] => 1
        )

[2] => Array
        (
            [process] => A
            [start] => 9
        )

[3] => Array
        (
            [process] => A
            [end] => 14
        )

I want to keep only the first value of the key end but, keep both values of start. To make it like:

Array
            (
                [process] => A
                [start] => 0
                [start2] => 9
                [end] => 1
            )
  • 写回答

2条回答 默认 最新

  • douxie9471 2017-03-11 00:12
    关注

    Here's how you do it in PHP. It's relatively simple, but there are a lot of checks that I had to manually add to the code to make it behave as you wanted.

    <?php
    
    $array = Array(Array
            (
                "process" => "A",
                "start" => 0
            ),Array
            (
                "process" => "A",
                "end" => 1
            ),Array
            (
                "process" => "A",
                "start" => 9
            ),Array
            (
                "process" => "A",
                "end" => 14
            ));
    
    $returnValue = Array();
    $returnValue["process"] = $array[0]["process"]; 
    $flagFirstEnd = false;
    $startI = 1;
    foreach ($array as $key => $value) {
        if (!$flagFirstEnd && isset($value["end"])) {
            $flagFirstEnd = true;
            $returnValue["end"] = $value["end"];
        }
        if (isset($value["start"])) {
            if ($startI == 1) {
                $returnValue["start"] = $value["start"];
            } else {
                $returnValue["start" . $startI] = $value["start"];
            }
            $startI++;
        }
    }
    print_r($returnValue);
    ?>
    
    评论

报告相同问题?

悬赏问题

  • ¥20 测距传感器数据手册i2c
  • ¥15 RPA正常跑,cmd输入cookies跑不出来
  • ¥15 求帮我调试一下freefem代码
  • ¥15 matlab代码解决,怎么运行
  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法