3v4l.org

run code in 300+ PHP versions simultaneously
<?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();

preferences:
49.03 ms | 402 KiB | 5 Q