我真的不知道该怎么问。
我将相同的日期保存在两个变量中。 然后,我将100天添加到第二个变量中。 但是两者似乎都被改变了。为什么会这样呢?
$begin = new DateTime("20180101");
$end = $begin;
$end = $end->add(new DateInterval('P100D'));
echo $begin->format('Y-m-d') . "<br>";
echo $end->format('Y-m-d');
结果是:
2018-04-11
2018-04-11
但我希望:
2018-01-01
2018-04-11
答案 0 :(得分:2)
如果您希望使用同一DateTime对象拥有不同的日子,则必须执行以下操作:
mock_method('an', 'example')
原因:PHP通过引用使用同一对象... 如果您通过新的DateTime('pattern')创建两个不同的对象DateTime,它将表现得很好。
您现在看到的行为也可以这样观察:
List<SevenZMethodConfiguration> methods = new ArrayList<>();
LZMA2Options lzma2Options = new LZMA2Options();
lzma2Options.setPreset(LZMA2Options.PRESET_MAX);
SevenZMethodConfiguration lzmaConfig =
new SevenZMethodConfiguration(SevenZMethod.LZMA, lzma2Options);
methods.add(lzmaConfig);
out.setContentMethods(methods);