P粉1116277872023-09-04 00:34:22
There is no built-in function, but you can rotate each position and compare whether it is correct.
$isRotated = function (array $original, array $maybeRotated): bool { $originalCount = count($original); $maybeRotatedCount = count($maybeRotated); if ($originalCount !== $maybeRotatedCount || $original === $maybeRotated) { return false; } for ($i = 0; $i < $originalCount; $i++) { $original[] = array_shift($original); if ($original === $maybeRotated) { return true; } } return false; }; echo $isRotated([1, 2, 3, 4, 5, 6, 7, 8], [6, 7, 8, 1, 2, 3, 4, 5]) ? 'true' : 'false', PHP_EOL; echo $isRotated([1, 2, 3, 4, 5, 6, 7, 8], [1, 2, 3, 4, 5, 6, 7, 8]) ? 'true' : 'false', PHP_EOL; echo $isRotated([1, 2, 3, 4, 5, 6, 7, 8], [2, 3, 4, 5, 6, 7, 8, 1]) ? 'true' : 'false', PHP_EOL;
true false true