我有一个计数器,它给了我在文档中找到短语的次数。现在我需要为每个创建一个变量,例如:
//Counter
$fstNameCtr = 0;
do {
$fstNameCtr = $fstNameCtr + 1;
} while ($firstNameRange->Execute($objFstName));
echo '$fstNameCtr';
结果回来了,我正在寻找2个短语实例,现在我想基于计数器中的数字动态创建一个变量,如下所示:
$instance1
$instance2
或
$instanceOne
$instanceTwo
任何帮助将不胜感激,谢谢。
答案 0 :(得分: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,......
我使用它来表明我将数组视为一个列表,当我想要键值对(或只是值)时我会使用它
当从这样的名单中出现时要小心,因为那时某些指数不会存在。
答案 1 :(得分:0)
听起来你想拥有一系列计数器,每个计数器代表一个“主题”或某个测量值。这是一个简单的实现,使用字典,可能对您有用:
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
)