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.

Powiązane funkcje:
octdec()
dechex()
decbin()