【发布时间】:2014-07-14 21:51:35
【问题描述】:
这是我的第一篇 StackOverFlow 帖子。
我有一个数字数组,我将其随机排列:
$nums = array("1","1","1","1","1","2","2","2","2","3","3","3","4","4","4");
shuffle($nums);
- 我正在尝试识别随机排列的数组中任意三个 3 个相同数字的序列/模式,并且
- 输出所有匹配数字集的总和。
我遇到的问题似乎源于尝试将循环中的当前数字与前一个数字进行比较(以查看它们是否匹配)。
当我回显“上一个”数字时,它始终输出为“0”。因此我无法比较当前数字和旧数字,这意味着我无法对相同数字的模式求和。
这是我的代码:
<?php
$t3count = 0;
$oldnum = 0;
$tots = 0;
$nums = array("1","1","1","1","1","2","2","2","2","3","3","3","4","4","4");
shuffle($nums);
foreach ($nums as $num) {
echo "$num: [$oldnum] ";
if ($num = $oldnum) {
$t3count++;
if ($t3count = 3) {
$tots = $num * $num;
$t3count = 0;
$oldnum = $num;
} else {
# do nonum
}
}
else {
$oldnum = $num;
}
# echo "<li>$num</li>";
}
echo "Your total is: $tots";
unset($num);
?>
谢谢。
【问题讨论】:
标签: php if-statement for-loop counter