Number is octal?
Simple and easy:
<?php
function is_octal($x) {
return decoct(octdec($x)) == $x;
}
echo is_octal(077); // true
echo is_octal(195); // false
?>
Thanks
[]'s
(PHP 4, PHP 5, PHP 7, PHP 8)
octdec — Wandelt von oktal zu dezimal um
Gibt die dezimale Entsprechung der in oktaler Darstellung angegebenen Zahl
octal_string
zurück.
octal_string
Die umzuwandelnde Oktal-Zeichenkette. Jegliche ungültigen Zeichen in
octal_string
werden stillschweigend ignoriert.
Von PHP 7.4.0 an ist die Übergabe jeglicher ungültiger Zeichen
missbilligt.
Die Dezimaldarstellung von octal_string
.
Version | Beschreibung |
---|---|
7.4.0 | Die Übergabe ungültiger Zeichen löst nun einen Deprecation-Hinweis aus. Das Ergebnis wird weiterhin so berechnet, als würden die ungültigen Zeichen nicht existieren. |
Beispiel #1 octdec()-Beispiel
<?php
echo octdec('77') . "\n";
echo octdec(decoct(45));
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
63 45
Hinweis:
Die Funktion kann nun auch Werte umwandeln, die zu groß für den Typ int der jeweiligen Plattform sind, das Ergebnis wird dann als float zurückgegeben.
Number is octal?
Simple and easy:
<?php
function is_octal($x) {
return decoct(octdec($x)) == $x;
}
echo is_octal(077); // true
echo is_octal(195); // false
?>
Thanks
[]'s
The 'S' flag for Unix file access rights is badly computed in the above sample.
If the corresponding 'x' bit (exec) is not set, and the 's' bit (setgid/setuid/sticky) is set, then the flag should not be displayed as and uppercase 'S', but as a lower case 's'. Also the sticky bit (mainly used for folders with public right access rights such as /tmp to protect against deletion by non owner) is badly named ("text"?).
Calling the sticky bit "text" is not erroneous: On UNIX back in 1974, it instructed the operating system to retain the text segment of the program in swap space after the process exited. This speeded subsequent executions by allowing the kernel to make a single operation of moving the program from swap to real memory.