将整数添加到数组的键 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循环的底部。
假设我们有以下数组:
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循环的底部。