<?php
/**
* Batch timestamp operations.
*
* @param array $timestamps An array of timestamps (integers or floats).
* @param string $operation The operation to perform ('add', 'subtract', 'multiply', 'divide').
* @param mixed $value The value to use for the operation.
* @return array An array of the results, or an error message.
*/
function batchTimestamps(array $timestamps, string $operation, $value): array
{
$results = [];
foreach ($timestamps as $timestamp) {
switch ($operation) {
case 'add':
$results[] = $timestamp + $value;
break;
case 'subtract':
$results[] = $timestamp - $value;
break;
case 'multiply':
$results[] = $timestamp * $value;
break;
case 'divide':
if ($value === 0) {
return ['error' => 'Division by zero'];
}
$results[] = $timestamp / $value;
break;
default:
return ['error' => 'Invalid operation'];
}
}
return $results;
}
// Example usage:
$timestamps = [1678886400, 1678972800, 1679059200]; // Example timestamps (Unix timestamps)
// Add 10 seconds to each timestamp
$results = batchTimestamps($timestamps, 'add', 10);
print_r($results);
// Subtract 5 seconds
$results = batchTimestamps($timestamps, 'subtract', 5);
print_r($results);
// Multiply by 2
$results = batchTimestamps($timestamps, 'multiply', 2);
print_r($results);
// Divide by 2
$results = batchTimestamps($timestamps, 'divide', 2);
print_r($results);
//Division by zero
$results = batchTimestamps($timestamps, 'divide', 0);
print_r($results);
?>
Add your comment