基于计数器动态创建大量变量-PHP

基于计数器动态创建大量变量-PHP,php,variables,counter,Php,Variables,Counter,我有一个计数器,它告诉我在文档中找到短语的次数。现在我需要为每个变量创建一个变量,例如: //Counter $fstNameCtr = 0; do { $fstNameCtr = $fstNameCtr + 1; } while ($firstNameRange->Execute($objFstName)); echo '$fstNameCtr'; 结果返回了2个短语实例,我正在寻找,现在我想根据计数器中的数字动态地为每个短语创建一个变量,如下所示: $instance

我有一个计数器,它告诉我在文档中找到短语的次数。现在我需要为每个变量创建一个变量,例如:

//Counter
$fstNameCtr = 0;
do {    
    $fstNameCtr = $fstNameCtr + 1;
} while ($firstNameRange->Execute($objFstName));
echo '$fstNameCtr';
结果返回了2个短语实例,我正在寻找,现在我想根据计数器中的数字动态地为每个短语创建一个变量,如下所示:

$instance1 
$instance2 


感谢您的帮助。

这通常是一个列表,请使用:

$x=array();
然后:

您可以使用
print\r
打印它,因为它是一个“列表”

注意我故意使用了这个而不是for循环。PHP不区分列表和字典,而是有一个可怕的数字索引字典!所以,如果你去掉第一件事(比如$x[1]),你会得到一个列表,其中的条目在0,2,3

我用它来表示我将数组视为一个列表,当我需要键值对(或仅仅是值)时使用它


从这样的列表中弹出时要小心,因为这样某些索引就不存在了

听起来您需要一系列计数器,每个计数器代表一个“主题”或某个度量。下面是一个使用字典的简单实现,它可能对您有用:

function increment(&$counters, $key) {
    if (array_key_exists($key, $counters)) {
        $counters[$key]++;
    } else {
        $counters[$key] = 1;
    }
}
然后可以将其与如下计数器数组一起使用:

$counters = array();
$phrase = "foo bar foo";
foreach (explode(" ", $phrase) as $word) {
    increment($counters, $word);
}
print_r($counters);
上述代码将输出:

Array
(
    [foo] => 2
    [bar] => 1
)
function increment(&$counters, $key) {
    if (array_key_exists($key, $counters)) {
        $counters[$key]++;
    } else {
        $counters[$key] = 1;
    }
}
$counters = array();
$phrase = "foo bar foo";
foreach (explode(" ", $phrase) as $word) {
    increment($counters, $word);
}
print_r($counters);
Array
(
    [foo] => 2
    [bar] => 1
)