PHP 8.4.0 RC2 available for testing

octdec

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

octdec八进制转换为十进制

说明

octdec(string $octal_string): int|float

返回 octal_string 参数所表示的八进制数的十进制等值。octal_string 中的任何无效字符都会默认忽略。自 PHP 7.4.0 起,弃用使用任何无效字符。

参数

octal_string

要转换的八进制的字符串。

返回值

octal_string 的十进制的表示

更新日志

版本 说明
7.4.0 传递任何无效字符现在将生成弃用通知。但仍会计算结果,就好像无效字符不存在一样。

示例

示例 #1 octdec() 示例

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

以上示例会输出:

63
45

注释

注意:

此函数可以将太大的数字转换为适应平台的 int 类型,在这种情况下,较大值将会作为 float 返回。

参见

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