- array_column: documentation ( source)
- array_filter: documentation ( source)
- array_unique: documentation ( source)
<?php
$data = [
['order' => null, 'seriesId' => 1],
['order' => 0, 'seriesId' => 1],
];
function validateOrderUniqueness(array $data)
{
$orders = array_filter(array_column($data, 'order'));
$uniqueOrders = array_unique($orders);
if ($orders !== $uniqueOrders) {
throw new \Exception('validateOrderUniqueness fail');
}
}
function validateSeriesUniqueness(array $data)
{
$seriesIds = array_column($data, 'seriesId');
$uniqueSeriesIds = array_unique($seriesIds);
if ($seriesIds !== $uniqueSeriesIds) {
throw new \Exception('validateSeriesUniqueness fail');
}
}
validateOrderUniqueness($data);
validateSeriesUniqueness($data);