2 u013446836 u013446836 于 2014.11.21 23:48 提问

php中define带入表达式问题
php
define('GW_MAXFILESIZE', '32768*10');
echo GW_MAXFILESIZE/1;

为什么输出是32768而不是327680呢?
读书少……

一个猜想,php不像C是原样替换,先发生了类型转换,遇到「*」号就直接忽略后面的了。

若如此,那么
define('GW_MAXFILESIZE', '32768*10');
if(GW_MAXFILESIZE>0) {
//whatever
}

又如何处理常量呢?

谢谢

1个回答

xuzuning
xuzuning   Ds   Rxr 2014.11.22 10:00
已采纳

define('GW_MAXFILESIZE', '32768*10');
echo GW_MAXFILESIZE;
输出 32768*10

define('GW_MAXFILESIZE', 32768*10);
echo GW_MAXFILESIZE;
才会输出 327680
字符串中的表达式是不会自行运算的

C语言中也是一样
#define MY "100*3"
printf("%是",MY);
输出 100*3

#define MY 100*3
printf("%d",MY);
输出 300

u013446836
u013446836 谢谢。。。
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
PHP 中的三元运算符和or表达式对比[defined() or define()]
在php代码中我们经常看到这样的写法: $max = $a>$b ? $a : $b; mysql_connect($user,$passwd,$db) or die($mess); 下面对这两种常见的写法做以下说明: 第一种:典型的三元运算符形式 表达式的值成了,那么$max 的值是$a 否则$max 的值是$b,也就是说$max 的取值要么是$a 要么是$b,需要满足这样的情况 第
C++常见问题之二#define使用中的陷阱
一.使用#define宏应注意的问题 1.使用宏定义表达式的时候,加括号是一个好习惯 首先我们来看一段简短的代码,并试着分析其输出: #include #define Add(a,b) a+b int main() { std::cout<<Add(1,2)*Add(2,3)<<std::endl; return 0; } 结果输出: 很显然,当我们看
利用MATLAB进行符号计算
简要介绍MATLAB的符号计算能力,并给出了几个常见的函数。
揭秘#define
一、数值宏常量 #define 宏定义是个演技非常高超的替身演员,但也会经常耍大牌的,所以我们用它要慎之又慎。它可以出现在代码的任何地方,从本行宏定义开始,以后的代码就就都认识这个宏了;也可以把任何东西定义成宏。因为编译器会在预编译的时候用真身替换替身,而在我们的代码里面却又用常常用替身来帮忙。看例子:    #define PI 3.141592654 在此后的代码中你尽可以使用PI 来代
可以解析公式的java类实例--可传入数值运算表达式、含变量的运算表达式
前几天遇到一个问题,需要从xml文件里读取一个含参数的公式并调用它。    于是上网找方法,但是实在是没有找到可以解析含参数的公式的方法,于是吸取了一些精华,并在此基础上加以改造,终于实现了,但是这样的效率很低,如果谁有更好的办法,希望拿出来分享,我在此算是抛砖引玉吧~~     测试类在最底下, 可以根据自己的需求进行测试。     可以将此类作为一个工具类, 在其他类调用的时候只需调用其
PHP常量声明、使用方法|define()函数定义常量类似于全局
PHP常量 PHP常量可以理解为值不变的变量。常量被定义后,在脚本的其他任何地方都不能改变。 PHP常量的命名规则 1、区别大小写,可以设置是否区别大小写。 2、命名规则和变量一样 3、默认情况,常量的作用域是全局 4、已经定义过的常量,不能定义相同名称的常量或变量,唯一性 5、常量不能以“$”开头 php常量的定义和判断、获取常量的值 PHP常量是通过define()函数进行定
php const和define的区别(php类中如何定义常量)
大家都知道define是定义常量的,如果在类中定义常量呢?当然不能用define,而用const,如下例: <?php //在类外面通常这样定义常量 define("PHP","phpddt.com"); class MyClass { //常量的值将始终保持不变。在定义和使用常量的时候不需要使用$符号 const constant = 'constant value';  
PHP定义常量是,const和define的区别
const可以在类中使用,define不行 const在类中定义类成员变量,已经定义不可更改。define只能定义全局常量,不能定义类成员变量 const只能用普通常量命名,define可以用表达式 const只能接收静态变量,define可以接收任何表达式 const定义常量时大小写敏感,define可通过第三个参数(true则表示大小写 不 敏感)来指定大小写是否敏感 const不能在条件语句中
php中define()函数和defined…
原文地址:及来防止恶意调用">php中define()函数和defined()函数的使用 及来防止恶意调用作者:疯子的博客 php中define()函数和defined()函数的使用   define 用来定义常量,常量也是全局范围的。不用管作用域就可以在脚本的任何地方访问常量。一个常量一旦被定义,就不能再改变或者取消定义。注意,常量前面没有美元符号($)的。 //定义一个常量     
PHP中路径问题的解决方案
关于PERL与PHP中的包含路径一直是一个比较难解的问题,主要是与操作系统和WEB服务器有关,不可能非 常智能化的解决这个路径问题。相对于PERL,PHP的路径好得多,解决起来也容易得多,因为PHP的相对路径在PHP程序中的任何场合都可以使用,而不 象PERL在某些语句中必须用绝对路径而导致移植的极其复杂。基于此,在PHP中,我设计了一个绝对稳妥的解决方案,如下所述。原则:使用相对路径,但