基于计数器动态创建大量变量-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
)