int scanf ( const char * format );
int scanf ( const char * format, argument );
int scanf ( const char * format, argument1, argument2 );
и т.д. $arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18];
usort(
$arr,
function (int $a, int $b): int {
$result = (($a - 1) % 6) - (($b - 1) % 6);
return $result === 0 ? $a - $b : $result;
}
);
print_r($arr);
/* Array
(
[0] => 1
[1] => 7
[2] => 13
[3] => 2
[4] => 8
[5] => 14
[6] => 3
[7] => 9
[8] => 15
[9] => 4
[10] => 10
[11] => 16
[12] => 5
[13] => 11
[14] => 17
[15] => 6
[16] => 12
[17] => 18
) */
oldArray.sort((a, b) => a.id - b.id);
newArray.sort((a, b) => a.id - b.id);
oldIdx = 0;
newIdx = 0;
while (oldIdx < oldArray.length || newIdx < newArray.length) {
if (oldIdx >= oldArray.length || oldArray[oldIdx].id > newArray[newIdx].id) {
console.log(`Added id newArray[newIdx].id`);
newIdx += 1;
continue;
}
if (newIdx >= newArray.length || oldArray[oldIdx].id < newArray[newIdx].id) {
console.log(`Deleted id oldArray[oldIdx].id`);
oldIdx += 1;
continue;
}
if (oldArray[oldIdx].x !== newArray[newIdx].x) {
console.log(`Changed id newArray[newIdx].id`);
oldIdx += 1;
newIdx += 1;
}
}
SELECT `d`.`generation_id`, `d`.`Name`, `d`.`volume`, `d`.`capacity`,
`d`.`type_of_connector`, COUNT(DISTINCT `c`.`color_id`) AS `color_count`
FROM `device` AS `d`
JOIN `device2color_body` AS `c` ON `c`.`device_id` = `d`.`id`
GROUP BY `d`.`generation_id`, `d`.`Name`, `d`.`volume`, `d`.`capacity`,
`d`.`type_of_connector`
SELECT `generation_id`, `Name`, COUNT(*) AS `count`
FROM (
SELECT DISTINCT `d`.`generation_id`, `d`.`Name`, `d`.`volume`, `d`.`capacity`,
`d`.`type_of_connector`, `c`.`color_id`
FROM `device` AS `d`
JOIN `device2color_body` AS `c` ON `c`.`device_id` = `d`.`id`
) AS `t`
GROUP BY `generation_id`, `Name`