我有一个计数器,它给了我在文档中找到短语的次数。现在我需要为每个变量创建一个变量,例如:
//Counter
$fstNameCtr = 0;
do {
$fstNameCtr = $fstNameCtr + 1;
} while ($firstNameRange->Execute($objFstName));
echo '$fstNameCtr';
结果返回了该短语的 2 个实例,我正在寻找,现在我想根据计数器中的数字为每个动态创建一个变量,如下所示:
$instance1
$instance2
或
$instanceOne
$instanceTwo
任何帮助将不胜感激,谢谢。
这通常是一个列表,请使用:
$x=array();
然后:
$x[]=$newThing; //"append"
您可以使用print_r
打印它,因为它是一个"列表"
$i = 0;
while($i != count($x)) {
echo($i.": ".$x[$i]);
$i++;
}
请注意,我故意使用它而不是 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
)