Тип 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 на мои вопросы заключаются в следующем:
Почему выходы первых трех
echo
в настоящее время, соответственно,-1,0,0
?Как выполнить это преобразование
["a" => "b"]
" тип объекта?Какое имя этого
<=>
? оператор сравнения? Равенство? Искать вphp.net
ничего не нашел о это.
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 для использования в будущем.