- var_dump: documentation ( source)
<?php
function dumpMappedRow($mappedRow)
{
var_dump([
'created' => $mappedRow['created']->format(DateTime::ISO8601),
'modified' => $mappedRow['modified']->format(DateTime::ISO8601)
]);
}
function mutableDemo() {
$date = DateTime::createFromFormat("Y-m-d", "2015-11-24");
$mappedRow['created'] = $date;
$mappedRow['modified'] = $date;
dumpMappedRow($mappedRow);
$mappedRow['modified']->setDate(2016, 12, 25);
dumpMappedRow($mappedRow);
if ($mappedRow['created']->getTimestamp() === $mappedRow['modified']->getTimestamp()) {
echo "\nCreated and Modified are set to the same value.";
}
}
function immutableDemo() {
$date = DateTimeImmutable::createFromFormat("Y-m-d", "2015-11-24");
$mappedRow['created'] = $date;
$mappedRow['modified'] = $date;
dumpMappedRow($mappedRow);
// This actually returns a new object rather than modifying the existing one.
// This prevents created from getting overwritten accidentally.
$mappedRow['modified'] = $mappedRow['modified']->setDate(2016, 12, 25);
dumpMappedRow($mappedRow);
if ($mappedRow['created']->getTimestamp() === $mappedRow['modified']->getTimestamp()) {
echo "\nCreated and Modified are set to the same value.";
}
}
mutableDemo();
echo "\n\n==========\n\n";
immutableDemo();