2014-03-03 40 views
0

我有一個計數器,它給了我在文檔中找到一個短語的次數。現在我需要爲每一個變量,例如:根據計數器動態創建一些變量 - PHP

//Counter 
$fstNameCtr = 0; 
do {  
    $fstNameCtr = $fstNameCtr + 1; 
} while ($firstNameRange->Execute($objFstName)); 
echo '$fstNameCtr'; 

結果短語的2個實例回來了,我在尋找,現在我想爲每一個動態基於變量如下就像在櫃檯數量:

$instance1 
$instance2 

$instanceOne 
$instanceTwo 

任何幫助,將不勝感激,謝謝。

回答

1

這通常是一個列表,使用:

$x=array(); 

然後:

$x[]=$newThing; //"append" 

可以使用print_r打印出來,並且因爲它是一個 「清單」

$i = 0; 
while($i != count($x)) { 
    echo($i.": ".$x[$i]); 
    $i++; 
} 

注意我用這個而不是一個for循環DELIBERATELY。 PHP不區分列表和字典,而是你有這個可怕的數字索引字典!所以,如果你刪除說第一件事(所以$ x [1]),你有一個列表項在0,2,3,.....

我用這個來表明我對待數組作爲一個列表,當我想要鍵值對(或只是值)時使用

當從這樣的列表中彈出時,請小心,因爲某些索引不會存在。

0

這聽起來像你想有一個計數器範圍,每個代表一個「主題」或某種度量。這裏有一個簡單的實現,使用字典,這可能對您有用:

$counters = array(); 
$phrase = "foo bar foo"; 
foreach (explode(" ", $phrase) as $word) { 
    increment($counters, $word); 
} 
print_r($counters); 

上面的代碼將輸出:

function increment(&$counters, $key) { 
    if (array_key_exists($key, $counters)) { 
     $counters[$key]++; 
    } else { 
     $counters[$key] = 1; 
    } 
} 

這可以接着用計數器陣列像這樣被使用

Array 
(
    [foo] => 2 
    [bar] => 1 
)