仅显示可用变量,但不显示IF,这是可能的

  • 本文关键字:显示 IF 变量 php
  • 更新时间 :
  • 英文 :


假设我有此'配置文件页面'代码:

<table border="1">
<tr>
<td>First Name : </td>
<td>John</td>
</tr>
<tr>
<td>Last Name : </td>
<td>Doe</td>
</tr>
<tr>
<td>Hobby : </td>
<td>Soccer</td>
</tr>
...
</table>

和这些配置文件是从数据库存储的,有些字段是可选的。例如:爱好,Yahoo Messenger ID,Twitter ID等

如何有效地显示所有可用信息?我的意思是,使用ifs ...因为当前是我正在做的事情:

<table border="1">
<tr>
<td>First Name : </td>
<td>John</td>
</tr>
<tr>
<td>Last Name : </td>
<td>Doe</td>
</tr>
<?php
if (!empty($hobby)){
echo '<tr>
<td>Hobby : </td>
<td>'.$hobby.'</td>
</tr>';}
?>
<?php
if (!empty($YahooID)){
echo '<tr>
<td>Yahoo ID : </td>
<td>'.$YahooID.'</td>
</tr>';}
?>
...
</table>

迭代您的属性(firstName,lastName ...)或列(db侧),如果设置,请在某个数组中添加键/值条目:nameofattribute,valueofatibute。

渲染html时,循环遍历此数组

echo '<tr><td>'.$key.' : '</td><td>'.$value+'</td></tr>';

或,

function renderIfSet($value, $title)
{
   if ($value) return '<tr><td>$title :</td><td>$value</td></tr>';
}

您的代码变成:

<? echo renderIfSet($hobby, "Hobby") ?>
<? echo renderIfSet($YahooID, "Yahoo ID") ?>
    function someAction($data) {
        if (!empty($data['data'])) {
            return '<tr>
            <td>{$data[title]} : </td>
            <td>'.$data['data'].'</td>
            </tr>';             
        }
    }
$datas = array(
  array('data' => $YahooID, 'title' => 'YahooID'),
  .... );
foreach($datas as $k => $v) {
   echo someAction($)
}

类似的东西

创建一个函数...

function checkVal($label,$value){
    if(!empty($value)){
        $row .= '<td>'.$label.'</td>';
        $row .= '<td>'.$value.'</td>';
    }
}

调用您的功能...

checkVal('Hobby',$hobby);

最新更新