当前位置: 首页 > 知识库问答 >
问题:

组合多个数组-基于数字?

秦昊穹
2023-03-14

这看起来很容易,但却不知道该怎么做。当前数组数据是按日期和日期列出的,因此我需要将所有日期组合起来:天、月、6个月、1年。我需要将数组数据排列为下面的第二个数组。


    array
      0 => enter code here
        array
          '1_day' => int 37
      1 => 
        array
          '30_day' => int 3275
      2 => 
        array
          '180_day' => int 3908
      3 => 
        array
          '1_year' => int 6933
      4 => 
        array
          'date' => string '2013-02-13' (length=10)
      5 => 
        array
          '1_day' => int 46
      6 => 
        array
          '30_day' => int 3134
      7 => 
        array
          '180_day' => int 3764
      8 => 
        array
          '1_year' => int 6820
      9 => 
        array
          'date' => string '2013-02-12' (length=10)
      10 => 
        array
          '1_day' => int 61
      11 => 
        array
          '30_day' => int 3127
      12 => 
        array
          '180_day' => int 3750
      13 => 
        array
          '1_year' => int 6807
      14 => 
        array
          'date' => string '2013-02-11' (length=10)

    array
      0 => 
          '1_day' => int 37
          '30_day' => int 3275
          '180_day' => int 3908
          '1_year' => int 6933
          'date' => string '2013-02-13' (length=10)
      1 => 
          '1_day' => int 46
          '30_day' => int 3134
          '180_day' => int 3764
          '1_year' => int 6820
          'date' => string '2013-02-12' (length=10)
      2 => 
          '1_day' => int 61
          '30_day' => int 3127
          '180_day' => int 3750
          '1_year' => int 6807
          'date' => string '2013-02-11' (length=10)


共有3个答案

甄云
2023-03-14

另一种方法:

<?php

$count = count($inArray);

//In place subarray merger, by this you don't have to modify keys every time they change.
//Constraint: A sub-array at every index.

for ($idx =0, $jdx =0; $idx < $count; $idx +=5, $jdx++) {
    $inArray[$jdx] = array_merge($inArray[$idx],
                                $inArray[$idx +1],
                                $inArray[$idx +2],
                                $inArray[$idx +3],
                                $inArray[$idx +4]);
}

array_splice ($inArray, $count/5);

/* OR into another array */

for ($idx =0, $jdx =0; $idx < $count; $idx +=5, $jdx++) {
    $newArray[$jdx] = array_merge($inArray[$idx],
                                $inArray[$idx +1],
                                $inArray[$idx +2],
                                $inArray[$idx +3],
                                $inArray[$idx +4]);
}

?>
柴辰阳
2023-03-14
Try this one....

$result = array();     
 $i = 0;
foreach($data as $key => $d) 
{
    $result[$i]['1_day'] = $data[$key]['1_day'];
    $result[$i]['30_day'] = $data[$key+1]['30_day'];
    $result[$i]['180_day'] = $data[$key+2]['180_day'];
    $result[$i]['1_year'] = $data[$key+3]['1_year'];
    $result[$i]['date'] = $data[$key+4]['date'];
    $key = $key+5;
    $i++;
  }
梅逸清
2023-03-14

未经测试,但这应该能让你接近:

<?php

$result = array();

for ($i = 0; $i <= count($array); $i++)
{
    if ($array[$i] == 'date')
    {
        $result[] = array(
            '1_day'    => $array[$i-4],
            '30_day'   => $array[$i-3],
            '180_day'  => $array[$i-2],
            '1_year'   => $array[$i-1],
            'date'     => $array[$i],
        );
    }
}
 类似资料:
  • 我有两个多维数组,我想通过使用其中一个数组的值和另一个数组的键来组合它们。数组如下: 阵列1: 阵列 2: 我想生成的结果数组如下: 有没有一个PHP函数可以用来完成这个任务?

  • 如何根据数组的嵌套数组中的两个值参数进行查询?目标是返回具有和。 尝试了以下查询但没有成功。

  • 我有两个数组: 阵列 1: 和阵列 2: 我需要根据合并这两个数组并得到这个: 不通过< code>Object.keys进行迭代,我如何做到这一点?

  • 我试图像这样整合多个数组的数组 要接收此

  • 此请求不使用2D数组。考虑以下结构的1D数组,其中索引从零开始,长度从一开始: 节0是单个单元格的数组。 第1节 null null null null 到目前为止,我使用一个语句的公式只能获得第一节(不是第2节或第3节)。希望找到一组公式来实现目标,而不使用语句或循环。以下是我目前掌握的信息:

  • 我有以下代码: 现在我想再组合一个数组和中的它的值。这是foreach语句中的三个数组。谁能帮我把它加进去。比如我们如何在foreach语句中添加多个。 例如,我想要以下内容: 但是上面的代码给出了。我得到的错误是 分析错误:语法错误,在/homepages/4/d864452909/htdocs/public_html/app/index.php第58行中,意外的“=>”(T_DOUBLE_AR