【发布时间】:2011-07-16 02:44:56
【问题描述】:
我认为这个问题以前没有被问过(至少我找不到它,如果它有......)
最近我开始从事一个比我通常使用的更大的项目(至少更多的 OOP(...我的意思是函数、类和对象));然而,我的函数参数应该是什么变量类型让我抓狂,例如:
<?php
function uberFunc($myArgument){
switch($myArgument){
//Stuff
}
}
?>
让我们说,在这个例子中,$myArgument 只能是一定数量的响应(即它不是用户创建的)。例如,$myArgument 可能会定义 sql 的排序方式或要使用的哈希值或 一些 预定义的值列表。然后 case 语句将 $myArgument 转换为某种操作(附加 mysql 字符串或以某种方式散列字符串)。
tl;dr: 函数的参数只能是一组预定义值中的一个。
我的问题是:对于这些类型的变量,最好使用字符串文字(将由 switch-case 语句解码)或数字(也将由 switch-case 语句解码) ?
目前我一直在翻转,开始创建笨拙的代码,所以我想选择一个(字符串文字或数字)并坚持下去
使用字符串字面量的优势(据我所知):
- 可读性
- 直接插入(即,如果您传递一个决定如何组织 sql 的变量,您可以执行类似
"SELECT * FROM main ORDER BY ".$myArgument的操作
使用数字的优势(据我所知):
- 可以通过数学运算(如果您需要这样的代码)
- 我相信它们的处理速度会稍微快一些(但还不足以产生影响)
【问题讨论】:
标签: php function computer-science arguments