decoct
decoct($num)
Zamienia liczbę całkowitą na jej zapis w systemie ósemkowym. Zwraca ciąg znaków z cyfr 0–7 bez zer na początku. Przydaje się przede wszystkim do wypisywania praw dostępu do pliku.
Parametry
- $num – liczba całkowita.
Przykłady
echo decoct(8); // 10
echo decoct(493); // 755
// wynik jest ciągiem znaków
var_dump(decoct(420)); // string(3) "644"
// prawa do pliku: fileperms zwraca też typ pliku, prawa to ostatnie cztery cyfry
$perms = 33261;
echo substr(decoct($perms), -4); // 0755
// to samo przez sprintf
echo substr(sprintf("%o", $perms), -4); // 0755
// uzupełnienie zerami do trzech miejsc
echo str_pad(decoct(8), 3, "0", STR_PAD_LEFT); // 010
// tam i z powrotem
echo octdec(decoct(2026)); // 2026
Na co uważać
- Zwraca ciąg znaków bez zer na początku. Stałą szerokość uzupełni str_pad() albo sprintf() z formatem %04o.
- Liczba z fileperms() zawiera oprócz praw także typ pliku. Same prawa to ostatnie cztery cyfry ósemkowe.
- Liczbę ujemną wypisuje jako wzór bitów bez znaku, jako długi ciąg cyfr.
- Pracuje z liczbami całkowitymi. Część ułamkową liczby odrzuca.