Обновить строку заголовка при циклическом просмотре массива - PullRequest
0 голосов
/ 12 марта 2019

Справочная информация: Я перебираю данные базы данных и выводю их на страницу в таблице.Мой цикл сначала выводит информацию заголовка, но заголовки - это то, что я бы назвал НЕ готовым интерфейсом.

Например: child_0_birthday необходимо изменить на Child 1 Birthday.

Итак, что у меня есть ниже:

    //Define table header section here
        foreach ($fields as $k => $v){
        $html .= '<th class="manage-column" data-key="'.esc_html($v).'">'.updateHeaderName(vsz_cf7_admin_get_field_name($v)) .'</th>';
                                    }

    //This function would do the clean up

    $devHeaderNames = array("child_0_birthday", "child_0_fname", "child_0_lname", "child_0_age");

function updateHeaderName($oldHeader) {

    if (in_array($oldHeader, $devHeaderNames))
      {
     //This is where I would want to change the value of $oldHeader to something cleaner and spit it back out. I could write a very long if statement but there has to be a better way. 
        if ($oldHeader == child_0_fname){
            $newHeader = "Child 1 First Name";
            return $newHeader;
        }else if...
      }
   }

ВОПРОС: Есть ли более эффективный способ, чем написать очень длинное выражение ifизменить строку, отображаемую в заголовке каждого столбца?

1 Ответ

1 голос
/ 12 марта 2019

Вы можете просто использовать свой массив для перевода связывания ключа и значения. Предполагая, $header = "child_0_birthday":

$devHeaderNames = array("child_0_birthday" => "Child 1 Birthday"); //etc...

if(isset($devHeaderNames[$header])) {
    $header = $devHeaderNames[$header];
}
...