Autor wpisu: Michał Janicki, dodany: 30.12.2015 21:47, tagi: php
3 grudnia tego roku miało miejsce ważne wydarzenie dla ludzi skupionych wokół PHP – premiera wersji 7 tego języka. Przynosi ona przede wszystkim wiele usprawnień (np. duża ilość Fatal Errorów została zamieniona na wyjątki) i poprawek (które zaowocowały m. in bardzo dużym skokiem wydajności). Pojawiło się także kilka nowości
(np. obsługa klas anonimowych) jednak z reguły nie jest to nic czego nie było by wcześniej w innych językach. Wreszcie wraz z pojawieniem się tej wersji PHP ma szansę nawiązać równorzędną walkę z innymi językami.
Zanim jednak zaczniemy pisać kod aplikacje zgodne z najnowszą wersją PHP minie trochę czasu. Wszystko dlatego, że większość pracy programisty to utrzymywanie już istniejących aplikacji pracujących pod kontrolą np. PHP 5.3. Problem w tym, że przełożeni rzadko kiedy widzą potrzebę aktualizacji PHP do nowszej wersji – no bo po co? Przecież wszystko działa a klienci nie zapłacą za ewentualne modyfikacje kodu aby był zgodny z nowszą wersją PHP ponieważ nie przełoży się to na konkretną funkcjonalność. Istnieje znacznie większe prawdopodobieństwo, że napiszecie w najbliższym czasie coś w PHP 5.6 niż w 7.0 dlatego właśnie w tym poście opiszę nowy operator jaki pojawił się właśnie w PHP 5.6.
Teraz już tylko o nowym operatorze
Nowy operator służy do potęgowania. Czyli można by było uznać, że jest to skrót do funkcji pow(). Otóż nie do końca. Jeśli potęgujemy liczby dodatnie w przypadku operatora ** i funkcji pow() wydaje się identycznie. Przykład poniżej:
var_dump(2 ** 2); var_dump(pow(2, 2)); var_dump(2 ** 2 ** 2); var_dump(pow(2, 2) * pow(2, 2)); var_dump(2.15 ** 3); var_dump(pow(2.15, 3)); var_dump(2 ** 3.5); var_dump(pow(2, 3.5)); var_dump(2 ** -3); var_dump(pow(2, -3));
pojawiają się w przypadku gdy podstawą jest liczba ujemna. Przykład poniżej:
var_dump(-2 ** 2); var_dump(pow(-2, 2));