如何修改数组,以便我想获得一个数组,其中包含一些数组值的递增值。

8 浏览
0 Comments

如何修改数组,以便我想获得一个数组,其中包含一些数组值的递增值。

我遇到了这样的情况,我有一个数组如下:

 Array
    (
        [24] => 24
        [25] => 25
        [26] => 26
        [27] => 27
        [28] => 28
        [29] => 29
    )

但是我想要一个结果数组,其中包括第一个值减一和最后一个值加一的结果,就像这样:

Array
(
    [24] => 24
    [25] => 25
    [26] => 26
    [27] => 27
    [28] => 28
    [29] => 29
    [23] => 23
    [30] => 30
)

我知道这有点奇怪,但有人能帮我找到结果吗?

我找到了这些值

$f=reset($res);
$f=$f-1;
$l=end($res);
$l=$l+1;

但不知道如何将其添加到数组中。

0
0 Comments

问题的原因是需要修改一个数组,使得数组中的某些值增加1。然而,给出的代码只是在数组的首尾添加了两个新的键值对,并没有实现所需的修改。

为了解决这个问题,可以使用以下方法:

$data = [
  24 => 24,25 => 25,26 => 26,27 => 27,28 => 28,29 => 29,
];
$min = min($data);
$max = max($data);
$data[$min] = $min + 1;
$data[$max] = $max + 1;

上述代码首先使用min()和max()函数获取数组中的最小值和最大值。然后,通过修改对应的键值对,将最小值和最大值增加1。

这样,原始数组中的某些值就被成功地增加了1,得到了修改后的数组。

0
0 Comments

问题:如何修改数组,使得我可以得到一个数组,其中某些数组值的值递增?

原因:代码中使用min和max函数来找到最低和最高值,否则代码无法在结果数组上工作。

解决方法:使用min和max函数找到数组的最低和最高值,并将它们分别减1和加1。然后将这些值分别赋给数组的键和值。最后打印整个数组。

代码如下:

$min = min($array) - 1;
$max = max($array) + 1;
$array[$min] = $min;
$array[$max] = $max;
print_r($array);

输出结果:

Array
(
    [24] => 24
    [25] => 25
    [26] => 26
    [27] => 27
    [28] => 28
    [29] => 29
    [23] => 23
    [30] => 30
)

在这个示例中,原始数组的最低值是23,最高值是29。通过分别减1和加1,得到了最低值的键和值分别为22和22,最高值的键和值分别为30和30。最后打印整个修改后的数组。

参考链接:[Demo on 3v4l.org](https://3v4l.org/789KS)

0