首页 > 解决方案 > PHP 根据现有的键值添加一个新的数组键

问题描述

如何根据数组中的值向现有数组添加新的数组键和值?下面只是数组的一部分。原版有大约 1000 多个键。

钥匙Date将永远存在。之前的值Date不是固定的,会发生变化。

这是我拥有的数组:

Array ( 
[0] => Date 
[1] => Name
[2] => Other Data
[3] => More Data
[4] => Date 
[5] => Name
[7] => Other Data
[8] => Date 
[9] => Name
[10] => Other Data
 )

我想Date在数组中的每个之前添加一个新键,除了第一个。这怎么可能?

Array ( 
[0] => Date 
[1] => Name
[2] => Other Data
[3] => More Data
[*] => // New data here
[4] => Date 
[5] => Name
[7] => Other Data
[*] => // New data here
[8] => Date 
[9] => Name
[10] => Other Data
 )

标签: phparrays

解决方案


Try this, Its working.

<?php 
 $array1 = array('Date','Name','Other Data','More Data','Date','Name','Other Data','Date','Name','Other Data');
 $array2 = array();

 foreach($array1 as $k => $v) {
    if($k != 0 && $array1[$k] == "Date") {
        $array2['d'.($k+1)] = " // New Date";
    }
    $array2[] = $v;
 }
?>

RESULT

Array
(
    [0] => Date
    [1] => Name
    [2] => Other Data
    [3] => More Data
    [d5] =>  // New Date
    [4] => Date
    [5] => Name
    [6] => Other Data
    [d8] =>  // New Date
    [7] => Date
    [8] => Name
    [9] => Other Data
)

You can change key or value for you requirement.

"d1" as new key
"// New Date" as new value

推荐阅读