примеры с Оператор космического корабля (<=>) на php
Оператор космического корабля (`<=>`), также известный как "космический оператор" или "компаратор", был введен в PHP 7. Он используется для сравнения двух значений и возвращает целое число, которое указывает на относительный порядок этих значений. Вот как он работает:
- Если левое значение меньше правого, оператор возвращает `-1`.
- Если левое значение равно правому, оператор возвращает `0`.
- Если левое значение больше правого, оператор возвращает `1`.
Этот оператор особенно полезен в функциях сравнения, таких как `usort`, `uasort`, `uksort`, и других, где вам нужно определить порядок элементов.
### Примеры использования оператора космического корабля
#### 1. Сравнение чисел
```php
$a = 5;
$b = 10;
echo $a <=> $b; // Вывод: -1 (5 < 10)
$a = 10;
$b = 10;
echo $a <=> $b; // Вывод: 0 (10 == 10)
$a = 15;
$b = 10;
echo $a <=> $b; // Вывод: 1 (15 > 10)
```
#### 2. Сравнение строк
```php
$str1 = "apple";
$str2 = "banana";
echo $str1 <=> $str2; // Вывод: -1 ("apple" < "banana")
$str1 = "banana";
$str2 = "banana";
echo $str1 <=> $str2; // Вывод: 0 ("banana" == "banana")
$str1 = "cherry";
$str2 = "banana";
echo $str1 <=> $str2; // Вывод: 1 ("cherry" > "banana")
```
#### 3. Сравнение массивов
```php
$arr1 = [1, 2, 3];
$arr2 = [1, 2, 4];
echo $arr1 <=> $arr2; // Вывод: -1 ([1, 2, 3] < [1, 2, 4])
$arr1 = [1, 2, 3];
$arr2 = [1, 2, 3];
echo $arr1 <=> $arr2; // Вывод: 0 ([1, 2, 3] == [1, 2, 3])
$arr1 = [1, 2, 4];
$arr2 = [1, 2, 3];
echo $arr1 <=> $arr2; // Вывод: 1 ([1, 2, 4] > [1, 2, 3])
```
#### 4. Использование в функциях сортировки
```php
$fruits = [
['name' => 'banana', 'price' => 10],
['name' => 'apple', 'price' => 5],
['name' => 'cherry', 'price' => 15],
];
usort($fruits, function($a, $b) {
return $a['price'] <=> $b['price'];
});
print_r($fruits);
```
В этом примере массив фруктов сортируется по цене с использованием оператора космического корабля. Результат будет:
```php
Array
(
[0] => Array
(
[name] => apple
[price] => 5
)
[1] => Array
(
[name] => banana
[price] => 10
)
[2] => Array
(
[name] => cherry
[price] => 15
)
)
```
### Заключение
Оператор космического корабля (`<=>`) — это удобный инструмент для сравнения значений в PHP. Он возвращает целое число, которое указывает на относительный порядок сравниваемых значений. Этот оператор особенно полезен в функциях сортировки, где вам нужно определить порядок элементов.