簡體   English   中英

PHP重構小功能

[英]php refactoring small function

是否可以將此表達式簡化為一行?

    echo '<li>';
    echo $value['name'];
    if ($value['childs']) {
        echo '<ul>';
        echo $this->arrayToString($value['childs']);
        echo '</ul>';
    }
    echo '</li>';

例如:

echo '<li>' . $value['name'] // what to do if statement? ... ;

絕對有可能:

echo '<li>' . $value['name'] . ($value['childs'] ? '<ul>' . $this->arrayToString($value['childs']) . '</ul>' : '') . '</li>';

但是我真的不推薦它。 我的可讀性將大大降低。 也許reather嘗試將一個部分提取到另一個函數中,如下所示:

function printItem($value)
{
    echo '<li>' . $value['name'] . $this->printItemChilds($value) . '</li>';
}

function printItemChilds($value)
{
    return $value['childs'] ? '<ul>' . $this->arrayToString($value['childs']) . '</ul>' : '';
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM