将整数添加到数组的键 PHP

Add an integer to a key of an array PHP

假设我们有以下数组:

Array ( [0] => 123456 [1] => Rothmans Blue [2] => 40 [3] => RB44 [4] => 1 ) 

我想转载这个数组,第 [4] 个键有一个额外的 +1,像这样:

Array ( [0] => 123456 [1] => Rothmans Blue [2] => 40 [3] => RB44 [4] => 2 )

再说一遍:

Array ( [0] => 123456 [1] => Rothmans Blue [2] => 40 [3] => RB44 [4] => 3 ) 

编辑: 下面给出的解决方案有效,但是,我的代码不会增加第 4 个键:

$filew = 'databases/stocktakemain.csv';
$getfilecont = file_get_contents($filew);
$writes = explode(",", $getfilecont);
++$writes[4];

这段代码有问题吗?这在通过 explode 创建数组时不适用吗?

您可以使用end($array)函数获取最后一个元素然后添加。

在你的代码的最后,你可以把 数组[4] == 数组[4] + 1;

您可以使用 ++ 将第 4 个数组值递增 1

<?php

$array[0] = 123456;
$array[1] = 'Rothmans Blue';
$array[2] = 40;
$array[3] = 'RB44';
$array[4] = 1;

echo ++$array[4] . "<br>\n";
echo ++$array[4] . "<br>\n";
echo ++$array[4] . "<br>\n";
?> 

这将打印出 10 个数组,最后一个键是一个递增的数字,更改 $max 使其成为 bigger/smaller。

$max = 10;

for( $i=1; $i<=$max; $i++ ) {
    print_r( array(
        123456,
        'Rothmans Blue',
        40,
        'RB44',
        $i
    ));
}

在这种情况下,您实际上不需要声明键值,因为 PHP 将数组中值的索引视为其键。

如果你想打印值,你可以尝试这样的事情,然后递增:

$myArray = array(123456, "Rothmans Blue", 40, "RB44", 1);
for ($i= 0; $i < 3; $i++)
{
  foreach ($myArray as $key => $value)
  {
    print $key . " : " . $value;
    if ($key == 4)
    {
      print "\n";
      $myArray[$key] += 1; // Make sure to modify the original array, not the one you passed in as it is passed by reference.
    }
  }
}

如果要先递增再打印,将打印语句移到foreach循环的底部。