有没有办法对这个函数/可执行文件进行编码..
if($img1 > "")
{
$show = $img1;
}
elseif($img2 > "")
{
$show = $img2;
}
elseif($img3 > "")
{
$show = $img3;
}
else
{
$show = 'default.jpg';
}
echo $show;
..以更简单的方式? THX。
答案 0 :(得分:2)
任何时候你最终都使用名为1,2,3等的变量,这意味着你应该使用一个数组。
如果你有这样的话,例如:
$img = [
1=> '',
2=> '',
3=> 'image.jpg'
];
然后您可以这样处理:
// Remove empty values
$img = array_filter($img);
// Echo the first value found (image.jpg)
echo current($img);
或者添加默认值:
echo (count($img)) ? current($img) : 'default.jpg';
如果count($img)
为0,则使用三元运算符来回显'default.jpg'。
答案 1 :(得分:0)
没有测试,但是这样的事情:
<?php
$img1 = 'hello';
$img2 = 'world';
$array = [1,2,3];
for($i=1; $i<count($array); $i++){
$v = ${"img{$i}"};
if( !empty($v) ){
$show = $v;
break;
}
}
echo $show;
不知道你想要完成什么或为什么代码看起来像这样,从一开始就看起来很糟糕。
答案 2 :(得分:0)
如果你知道图像的ID号,你可以这样做:
<?php
$images = array(
'myimg.jpg',
'my_awesome_img.jpg',
'awesome_awesome.jpg'
);
$show = $images[$x];
?>
答案 3 :(得分:0)
你可以做到
if(!empty($img1)) {
echo $img1;
} elseif(!empty($img2)) {
echo $img2;
} elseif(!empty($img3)) {
echo $img3;
} else {
echo 'default.jpg';
}
鉴于您只想显示其中一个。