PHP 7 و اپراتور سفینه فضایی

علاوه بر ویژگی های جدید مانند hinting نوع برای انواع داده های مقیاس دار یا عملکرد بهینه شده ، PHP 7 همچنین بسیاری از برنامه های افزودنی زبان مفید و جدید را با خود به همراه دارد. "Spaceship Operator" سرانجام توانست به دنیای PHP راه یابد (برنامه نویسان Ruby و Perl مدت زیادی است که آن را می شناسند). \($a <=> $b\) بازده \(0\) اگر و تنها اگر هر دو عملوند برابر هستند، \(1\) اگر یک سمت چپ بزرگتر است و \(-1\) در غیر این صورت.


بر این اساس ، این عملگر جدید با تابع نشانه \(sgn(xy)\) شناخته شده از ریاضیات مطابقت دارد. این بدان معنی است که اپراتورهای مقایسه موجود نیز می توانند با استفاده از نحو جدید تفسیر شوند:

\($a < $b\) \(($a <=> $b) === -1\)
\($a <= $b\) \(($a <=> $b)\) !\(== 1\)
\($a == $b\) \(($a <=> $b) === 0\)
\($a\) !\(= $b\) \(($a <=> $b)\) !\(== 0\)
\($a >= $b\) \(($a <=> $b)\) !\(== -1\)
\($a > $b\) \(($a <=> $b) === 1\)

همان قوانینی که برای عملگرهای مقایسه وجود دارد (به عنوان مثال \([1,2,3] <=>[1,2,1]\) برابر است با \(1\) ).

بازگشت