Php 如果变量不为空,则显示变量而不重复变量名称

Php 如果变量不为空,则显示变量而不重复变量名称,php,if-statement,syntax,Php,If Statement,Syntax,您好,您知道一种不用重复变量名就用PHP编写的方法吗 if($abcdefg["blaBlaBlaBlaBlaBlaBlaBlaBlaBla"]!=="") { echo $abcdefg["blaBlaBlaBlaBlaBlaBlaBlaBlaBla"]; } else if($abcdefg["evenMoreBlaBlaBlaBlaBlaBlaBlaBlaBlaBla"]!=="") { echo $abcdefg["evenMoreBlaBlaBlaBlaBlaBlaBl

您好,您知道一种不用重复变量名就用PHP编写的方法吗

if($abcdefg["blaBlaBlaBlaBlaBlaBlaBlaBlaBla"]!=="") {
    echo $abcdefg["blaBlaBlaBlaBlaBlaBlaBlaBlaBla"];
} else if($abcdefg["evenMoreBlaBlaBlaBlaBlaBlaBlaBlaBlaBla"]!=="") {
    echo $abcdefg["evenMoreBlaBlaBlaBlaBlaBlaBlaBlaBlaBla"];
} else if($abcdefg["stillAlotBlaBlaBlaBlaBlaBlaBlaBlaBla"]!=="") {
    echo $abcdefg["stillAlotBlaBlaBlaBlaBlaBlaBlaBlaBla"];
}
你当然会写作

$a = $abcdefg["blaBlaBlaBlaBlaBlaBlaBlaBlaBla"];
$b = $abcdefg["evenMoreBlaBlaBlaBlaBlaBlaBlaBlaBlaBla"];
$c = $abcdefg["stillAlotBlaBlaBlaBlaBlaBlaBlaBlaBla"];

if($a) { echo $a; } else if($b) { echo $b; } else if ($c) { echo $c; }
这有点短,但我仍然想知道是否有一些句法上的好东西,写它没有变量重复


三元运算符不能解决问题,因为我认为是“elseif”。

这应该适用于您:

只要循环遍历所有索引,如果它们通过if语句,就可以检查并打印它们,例如

$indexes = ["blaBlaBlaBlaBlaBlaBlaBlaBlaBla", "evenMoreBlaBlaBlaBlaBlaBlaBlaBlaBlaBla", "stillAlotBlaBlaBlaBlaBlaBlaBlaBlaBla"];

foreach($indexes as $key) {
    if($abcdefg[$key] !== "") {
        echo $abcdefg[$key];
        break;
    }
}

这应该适合您:

只要循环遍历所有索引,如果它们通过if语句,就可以检查并打印它们,例如

$indexes = ["blaBlaBlaBlaBlaBlaBlaBlaBlaBla", "evenMoreBlaBlaBlaBlaBlaBlaBlaBlaBlaBla", "stillAlotBlaBlaBlaBlaBlaBlaBlaBlaBla"];

foreach($indexes as $key) {
    if($abcdefg[$key] !== "") {
        echo $abcdefg[$key];
        break;
    }
}

您可以在if条件下进行变量声明:

if(($var = $abcdefg["blaBlaBlaBlaBlaBlaBlaBlaBlaBla"]) !== "") {
    echo $var;
}

您可以在if条件下进行变量声明:

if(($var = $abcdefg["blaBlaBlaBlaBlaBlaBlaBlaBlaBla"]) !== "") {
    echo $var;
}

为…声明一个函数怎么样。。。六羟甲基三聚氰胺六甲醚。。。功能性

function echoNotEmpty($s)
{
    if ($s !== '') echo $s;
}
echoNotEmpty($abcdefg["blaBlaBlaBlaBlaBlaBlaBlaBlaBla"]);
echoNotEmpty($abcdefg["evenMoreBlaBlaBlaBlaBlaBlaBlaBlaBlaBla"]);
echoNotEmpty($abcdefg["stillAlotBlaBlaBlaBlaBlaBlaBlaBlaBla"]);
甚至更短:

echo $abcdefg["blaBlaBlaBlaBlaBlaBlaBlaBlaBla"];
echo $abcdefg["evenMoreBlaBlaBlaBlaBlaBlaBlaBlaBlaBla"];
echo $abcdefg["stillAlotBlaBlaBlaBlaBlaBlaBlaBlaBla"];

我的意思是,如果你不想回显空字符串,而你仍然回显它们,谁会在意呢?

为。。。六羟甲基三聚氰胺六甲醚。。。功能性

function echoNotEmpty($s)
{
    if ($s !== '') echo $s;
}
echoNotEmpty($abcdefg["blaBlaBlaBlaBlaBlaBlaBlaBlaBla"]);
echoNotEmpty($abcdefg["evenMoreBlaBlaBlaBlaBlaBlaBlaBlaBlaBla"]);
echoNotEmpty($abcdefg["stillAlotBlaBlaBlaBlaBlaBlaBlaBlaBla"]);
甚至更短:

echo $abcdefg["blaBlaBlaBlaBlaBlaBlaBlaBlaBla"];
echo $abcdefg["evenMoreBlaBlaBlaBlaBlaBlaBlaBlaBlaBla"];
echo $abcdefg["stillAlotBlaBlaBlaBlaBlaBlaBlaBlaBla"];

我的意思是,如果您不想回显空字符串,但仍然回显它们,谁在乎呢?

要么完整地拼写出来,要么复制/引用另一个变量并使用它。没有“捷径”。或者只是不要使用长得离谱的变量/键名…它会像鸟和鸡一样叽叽喳喳地叫。是的,可能是三元的重复。我想三元的问题是“elseif”吧?然而,我喜欢bitworking和rizier123的答案。这两种解决方案都很好。要么完整地拼写出来,要么复制/引用另一个变量并使用它。没有“捷径”。或者只是不要使用长得离谱的变量/键名…它会像鸟和鸡一样叽叽喳喳地叫。是的,可能是三元的重复。我想三元的问题是“elseif”吧?然而,我喜欢bitworking和rizier123的答案。这两种解决方案都很好。问题是“elseif”(可能有两个字符串不是空的,只有第一个应该被回显)。问题是“elseif”(可能有两个字符串不是空的,只有第一个应该被回显)。