数组键初始值

时间:2010-01-28 16:59:19

标签: php arrays key

我想将我的数组键初始值设置为某个数字。 这就是我所拥有的:

$tickets=array();
array_push($tickets,"10","20","TBD")

for($i=3; $i<20; $i++)

我希望我的数组初始值从3开始而不是0。

任何想法

4 个答案:

答案 0 :(得分:2)

使用$tickets[3]=$value手动设置您的第一个值,PHP将开始将$tickets[]放在下一个索引(4,然后是5等)。

答案 1 :(得分:1)

如果您正在初始化$ ticket,那么为什么不使用数组文字呢?

$tickets=array(3=>10, 4=>20, 5=>'TBD');
print_r($tickets);

打印

Array
(
    [3] => 10
    [4] => 20
    [5] => TBD
)

编辑和顺便说一句:这也适用于两个地方的变量,键和值。因此

$x = 5;
$y = 'TBD';
$tickets=array(3=>10, 4=>20, $x=>$y);
print_r($tickets);

具有相同的输出以及

$tickets=array( /* initial index here */ 3=>10, 20, 'TDB');
print_r($tickets);

答案 2 :(得分:1)

$start_key设置为3,然后使用range()创建一组密钥。使用array_combine()组合到数组中,如何设置:

$tickets = array();
array_push($tickets,"10","20","TBD");
print_r($tickets);
// This is the zero-indexed array that occurs by default:
// Array
// (
//     [0] => 10
//     [1] => 20
//     [2] => TBD
// )

$start_key = 3;
$tickets = array_combine(range($start_key,count($tickets)+($start_key-1)), $tickets);
print_r($tickets);

// Now you have an array whose keys start at 3:
// Array
// (
//     [3] => 10
//     [4] => 20
//     [5] => TBD
// )

答案 3 :(得分:0)

这有用吗?

$tickets = array();
for ($i=3; $i<20; $i++) {
  $tickets[$i] = 'TBD';
}