Echo foo基于if $ is is is set

时间:2011-06-09 12:04:01

标签: php

通常,当我从数据库中检索数组时,我会检查某个元素是否存在或是否设置为某个值并相应地回显文本:

if (isset($bar)) // or is true 
{
  echo "something";
}
else  // elseif is set to false
{
  echo "not something";
}

但是一旦你有很多变量,它就会让你的代码变成一个眼睛。我知道你可以轻松地创建一个函数来执行此操作,但是php是否提供了内置的功能来执行此操作? SO的其他成员如何解决这个问题呢?

3 个答案:

答案 0 :(得分:16)

在这些情况下,我发现ternary operator不那么眩晕了。

所以

echo (isset($bar) ? 'something' : 'not something');

答案 1 :(得分:2)

定义您自己的功能并使用它。像这样的东西

function echo_if_isset($foo) {
    if (isset($foo))
       echo $foo;
}

echo_if_isset($bar);

答案 2 :(得分:1)

我认为你的问题比你在这里提出的要复杂得多,但我会试一试。

1st)我通常使用mysql_fetch_assoc()

从数据库中提取记录
$q = "SELECT * FROM something";
$qr = mysql_query( $q );

$qrow = mysql_fetch_assoc( $q );

2nd)使用for循环

foreach( $qrow as $k => $v )
{
    if( strlen( $v ) )
    {
        echo "the value is: $v\n";
    }
    else
    {
        echo "the value is blank\n";
    }
}