-2

我正在将 C 代码重写为 PHP(或者更确切地说是尝试),但我偶然发现了一个常量声明:

C 语法:

const char* translation = "5z]&gqtyfr$";

PHP 语法:

define('translation','5z]&gqtyfr$');

问题是据我所知,PHP 不接受以非字母字符开头的常量值。任何解决方法?

4

1 回答 1

0

当我很久以前使用 ca 时,我记得const与范围相关的定义,一个命名的内存分配- 所以它取决于它在函数内部或全局范围等中的定义位置,虽然它的值不能直接更改,但它可以仍然使用其内存地址进行更改。
这不能在 php 中实现。

PHP 中的常量更多或类似于#defineC 中的常量(除非您不能在 PHP 中创建宏)

#define translation = "5z]&gqtyfr$";

相当于 php define('translation','5z]&gqtyfr$')

php中的类常量与范围相关,其工作方式与大多数支持 OOP 的类 C 语言相同。

class MyClass {
    const CONST_VALUE = 5;
}
echo MyClass::CONST_VALUE;

这是关于“静态常量”与“#define”与“枚举”的更多信息

使用 php define(),您可以使用任何名称创建常量(只要之前未定义)

define(' not a good name for constant!', 3);
echo constant(' not a good name for constant!'); // echoes 3

constant()在这样做的同时,你显然不能在不使用函数的情况下调用那种常量

于 2013-09-06T22:07:05.807 回答