以下是我的代码的简化版本:
<?php for($n=1; $n<=8; $n++): ?>
<p><?php echo $n; ?></p>
<p><?php echo $n; ?></p>
<?php endfor; ?>
Run Code Online (Sandbox Code Playgroud)
我希望循环运行8次,我希望第一段中的数字在每个循环中增加1,例如
1, 2, 3, 4, 5, 6, 7, 8 (这显然很简单)
但是,我希望第二段中的数字在每个循环中增加2,例如..
1, 3, 5, 7, 9, 11, 13, 15
我无法弄清楚如何使每个循环使第二段中的数字增加2.如果我将其更改为$ n ++然后它会增加2,但它会使循环仅运行4次而不是8次.
任何帮助将非常感激.谢谢!
我有一个应用程序,它将一个时间戳作为sql选择的开始日期和结束日期的边界,我希望从今年的第一个星期一开始填充一个星期几周的hashmap作为值和周数作为键.我发现很难使用时间戳,我觉得增加86,400,000秒来增加一天的感觉并不是很好,因为这并没有考虑到闰日,小时,秒.
我计划在其中添加13天23小时59分59秒,以便我可以按周查找地图中的开始日期作为关键字,然后使用开始日期来获取结束日期.
所以我想尝试得到这样的东西:
Week startDate endDate
1 2011-01-03 00:00:00 2011-01-16 23:59:59
2 2011-01-17 00:00:00 2011-01-30 23:59:59
Run Code Online (Sandbox Code Playgroud)
使用Map中的前两列,并在查找后计算最后一列.如何安全地增加java.sql.Timestamp?
我想确保我理解按值传递和正确传递.特别是,我正在查看++对象的增量运算符的前缀/后缀版本.
我们假设我们有以下课程X:
class X{
private:
int i;
public:
X(){i=0;}
X& operator ++ (){ ++i; return *this; } //prefix increment
X operator ++ (int unused){ //postfix increment
X ret(*this);
i++;
return ret;
}
operator int(){ return i; } //int cast
};
Run Code Online (Sandbox Code Playgroud)
首先,我是否正确实现了前缀/后缀增量运算符?
第二,与前缀运算符相比,后缀运算符的内存效率如何?具体来说,X当使用每个版本的运算符时,会创建多少个对象副本?
准确地解释通过引用返回和按值返回会发生什么可能有助于我理解.
编辑:例如,使用以下代码...
X a;
X b=a++;
Run Code Online (Sandbox Code Playgroud)
... a和b现在是别名吗?
是否可以++为枚举实现运算符?
我使用枚举处理状态机的当前状态,能够使用++运算符会很好.
在名称方面我的想象力很弱,所以我经常发现自己在代码中重用了标识符.这导致我遇到这个特定的问题.
这是一些示例代码:
public delegate void TestDelegate(int test);
public class Test
{
private int test;
private void method(int aaa)
{
TestDelegate del = test => aaa++;
test++;
}
public static void Main()
{
}
}
Run Code Online (Sandbox Code Playgroud)
以下是编译错误(由ideone输出):
prog.cs(11,3): error CS0135: `test' conflicts with a declaration in a child block
prog.cs(9,22): (Location of the symbol related to previous error)
Compilation failed: 1 error(s), 0 warnings
Run Code Online (Sandbox Code Playgroud)
第11 test++行包含第9行包含lambda.
顺便说一下,Visual Studio 2013给出了不同的错误:
'test' conflicts with the declaration 'Namespace.Test.test'
Run Code Online (Sandbox Code Playgroud)
该错误仅在第11行的增量处发生.
如果我注释掉第9行(lambda)或第11行(增量),代码会成功编译.
这个问题让我感到惊讶 - …
我学习C语言和相当混乱之间的差异++*ptr和*ptr++.
例如:
int x = 19;
int *ptr = &x;
Run Code Online (Sandbox Code Playgroud)
我知道++*ptr并*ptr++产生不同的结果,但我不知道为什么会这样?
我试图增加.xml文件中的变量.标签可以在文件中100次或仅两次.我试图添加一个值,将增加数倍的数量.我已经包含了一些我正在处理的示例代码,但是当我运行脚本时,它只会放置一个而不会进一步增加.对于我做错的建议会很好.
for xmlfile in $(find $DIRECTORY -type f -name \*.xml); do
TFILE="/tmp/$directoryname.$$"
FROM='><process>'
TO=' value\=""><process>'
i=0
while [ $i -lt 10 ]; do
i=`expr $i + 1`
FROM='value\=""'
TO='value\="'$i'"'
done
sed "s/$FROM/$TO/g" "$xmlfile" > $TFILE && mv $TFILE "$xmlfile"
done
Run Code Online (Sandbox Code Playgroud)
该while回路是我刚才放置测试代码.它会插入<process>但不会插入增量.
我的最终目标:
<process>value="1"</process>
<process>value="2"</process>
<process>value="3"</process>
<process>value="4"</process>
Run Code Online (Sandbox Code Playgroud)
只要<process>文件中存在它就需要递增.
以下片段中的增量函数递增第四个元素,第五个元素,然后是最后一个元素(20)
我的目标是从第四个元素开始递增每个数字值,跳过字母.
这是我遇到问题的一行:
const indexAlteredElement = (clicksModulo) => (! clicksModulo % 3) ? 20 : clicksModulo+3;
Run Code Online (Sandbox Code Playgroud)
我怎样才能改变这一点来实现我的目标?
let clicks = 0;
class App extends React.Component {
state = {
data:'M 175 0 L 326.55444566227675 87.50000000000001 L 326.55444566227675 262.5 L 175 350 L 23.445554337723223 262.5 L 23.44555433772325 87.49999999999999 L 175 0'
};
onClick() {
clicks ++;
this.setState({data: this.increment()});
}
/**
* clicks -> Element index in array
* 1 ----- ->4,
* 2 ---- -> 5.
* 3 ---- -> …Run Code Online (Sandbox Code Playgroud)例如我有大约500行.在每行的开头我想添加一个数字.所以在第1行我想要"1)"然后第2行我想要"2)"
我知道我可以在n ++中做一个宏,但它不会是增量的.有没有办法做到这一点?
我的兴趣在于for和while循环之间的区别.我知道使用后增量值然后递增,操作返回一个恒定的预增量.
while (true) {
//...
i++;
int j = i;
}
Run Code Online (Sandbox Code Playgroud)
在这里,将j包含循环结束时的旧i或后递增i?