1

我正在尝试对我的数据库中的某些变量进行一般化。假设我们有下一个变量和值:

$var1 = "abc";
$var2 = "n/a";
$var3 = "das";
$var4 = "n/a";

我的 if 语句必须包含所有这些变量,检查哪些变量包含“n/a”,对于每个包含“n/a”的变量,脚本必须创建另一个变量$var21 = "Not Available"。那可能吗?

4

2 回答 2

1

我不会使用variable variables,只是由于个人喜好。如果你是自虐狂,你当然可以试试

我会创建一个额外的哈希值。这也将消除对 if 语句的需要。:)

$descriptions = array(
    "n/a" => "Not Available",
    "brb" => "Be Right Back",
    "iee" => "I'm easily extendable"
);

然后,当您需要特定键的文本时,您只需键入

$descriptive_text = $descriptions[$var1];

更新:

如果 中没有值,要将其设置为原始值$descriptions,请执行以下操作:

$descriptive_text = (is_null($descriptions[$var1])) ? $var1 : $descriptions[$var1];
于 2012-04-06T13:56:55.957 回答
0

您应该为此使用数组。

$array = array("abc", "n/a", "das", "n/a");
foreach($array as $key => $value)
{
 if($value == "n/a")
 {
  echo "Do Something!";
 }
}

另请参阅:数组

于 2012-04-06T13:54:25.987 回答