2010-01-28 63 views
2

我想將我的數組鍵初始值設置爲某個數。 這裏是我有:數組鍵初始值

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

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

我希望我的陣列初始值在3個不爲0

任何想法

回答

1

如果您正在初始化$票據爲什麼不使用數組字面量?

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

打印

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

編輯和BTW:這也適用於在這兩個地方,鍵和值的變量。因此

$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); 
0

請問這項工作開始?

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

燁,但我想從10訪問整個阿雷等其中初始陣列[3] = 10,但我沒有得到它。 so array [5] = TBD – NULL 2010-01-28 17:04:44

2

$tickets[3]=$value手動設置你的第一個值,PHP將開始把$tickets[]下一個索引(4,5,然後,等)的。

+0

正如文檔中明確指出的那樣:*語法'index => values',用逗號分隔,定義索引和值。 'index'可以是字符串或整數類型。 (...)如果索引是一個整數,**下一個生成的索引**將是最大的整數索引+ 1. * http://php.net/manual/en/function.array.php – 2010-01-28 17:08:09

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 
//)