Тип Object в PHP


Я практикую некоторые коды в PHP, когда я сталкиваюсь с этим:

<?php
$a = (object) ["a" => "b"];
$b = (object) ["a"  => "c"];

$y = $a <=> $b;
echo $y;
$v=[1,2,3] <=> [1,2,3];
echo $v;
$a= (object) ["a" => "b"];
$b = (object) ["a" => "b"];
echo $a <=> $b;
echo ($y == -1)? 1:0;
?>

Как давно не практикую PHP на мои вопросы заключаются в следующем:

  1. Почему выходы первых трех echo в настоящее время, соответственно, -1,0,0?

  2. Как выполнить это преобразование ["a" => "b"] " тип объекта?

  3. Какое имя этого <=>? оператор сравнения? Равенство? Искать в php.net ничего не нашел о это.

Author: Maniero, 2018-11-14

1 answers

", выходы первых трех echo в настоящее время, соответственно, -1,0,0?

Согласно определению оператора сравнения (см. ниже), ожидаемые результаты. В первый операнд слева меньше, например, буква b - это наименьшее, что буквы c. В остальные значения одинаковы, поэтому результат равен 0.

Как я делаю это преобразование ["a" => "b"] " тип объекта?

Сделал правильно, хотя и с полезность сомнительна.

, где имя этого <=>? оператор сравнения? Равенство? Я обратилась в php.net ничего не нашел об этом.

См.: , Любя, который служит "космический корабль operator" PHP7?.

$a = (object)["a" => "b"];
$b = (object)["a"  => "c"];
$y = $a <=> $b;
echo $y;
$v=[1,2,3] <=> [1,2,3];
echo $v;
$a= (object)["a" => "b"];
$b = (object)["a" => "b"];
echo $a <=> $b;
echo ($y == -1)? 1:0;
var_dump($a);

См работает ideone. И repl.it. Также я GitHub для использования в будущем.

 5
Author: Maniero, 2020-08-14 15:49:37