ConFoo 2025

octdec

(PHP 4, PHP 5, PHP 7, PHP 8)

octdecOctal to decimal

Description

octdec(string $octal_string): int|float

Returns the decimal equivalent of the octal number represented by the octal_string argument.

Parameters

octal_string

The octal string to convert. Any invalid characters in octal_string are silently ignored. As of PHP 7.4.0 supplying any invalid characters is deprecated.

Return Values

The decimal representation of octal_string

Changelog

Version Description
7.4.0 Passing invalid characters will now generate a deprecation notice. The result will still be computed as if the invalid characters did not exist.

Examples

Example #1 octdec() example

<?php
echo octdec('77') . "\n";
echo
octdec(decoct(45));
?>

The above example will output:

63
45

Notes

Note:

The function can convert numbers that are too large to fit into the platforms int type, larger values are returned as float in that case.

See Also

add a note

User Contributed Notes 3 notes

up
2
contato at andersonfraga dot net
16 years ago
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
up
1
Anonymous
22 years ago
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"?).
up
0
harry at disgruntledgoat dot com
17 years ago
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.
To Top