作者gpmm (银色)
看板PHP
标题Re: [请益] 逻辑判断简化的问题
时间Fri Jan 18 21:24:14 2013
※ 引述《lottemarines (一平)》之铭言:
: 程式如下:
: 我这样写当然是没问题,但一看就知道不对啊。
: 一定有更好的方法可以达成简洁的程式码然後可以做到一样的效果吧?
我不太确定你是想问「整洁」的程式码,
还是一个有架构,好理解,好扩充的程式码 XDD
基本上这两者是稍微有点背道而驰的,
: 跪求高手指导^ ^
: if (($_POST[tx_kind]==1) && ($_POST[tx_usage]!=0)) {
: die('如果类别是购买,则使用量应为0');
: }
: if (($_POST[tx_kind]==1) && ($_POST[tx_borrow]!=0)) {
: die('如果类别是购买,则借用量应为0');
: }
: if (($_POST[tx_kind]==1) && ($_POST[tx_doctor]!=0)) {
: die('如果类别是购买,则不应有操作医师');
: }
: if (($_POST[tx_kind]==1) && ($_POST[tx_member]!=0)) {
: die('如果类别是购买,则不应有操作人员');
: }
: if (($_POST[tx_kind]==1) && ($_POST[tx_member_ppf]!=0)) {
: die('如果类别是购买,则不应有操作人员');
: }
岔题回别的,我自己是不太建议
$_POST[tx_kind] 这样使用变数
比较好的写法是
$_POST['tx_kind'] 这样,
因为实际上你是去取 $_POST 这个 hash table 的 'tx_kind' 字串索引的值,
而之所以在这里 tx_kind 可以和 'tx_kind' 通用,
是因为在 PHP 里,不加 $ 的可用变数字串会先被判别是否为常数,
如果不是常数,才会被视为字串,
也就是说,如果我在前面做了 define ('tx_kind', 1) 这个宣告,
$_POST[tx_kind] 实际上会变成 $_POST[1],引发不再预期内的错误,
所以…(摊手) XDD
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 101.10.100.163
1F:→ rock810:有颜色有加分 01/19 09:31