$headerLabels * @param array $maxLenPerCol Same length as $headerLabels * @param array $minPx * @param array $maxPx * @return array */ function nhance_dt_column_widths_px(array $headerLabels, array $maxLenPerCol, array $minPx, array $maxPx): array { $n = count($headerLabels); $out = []; for ($i = 0; $i < $n; $i++) { $chars = max($maxLenPerCol[$i] ?? 0, mb_strlen($headerLabels[$i])); $px = (int) round($chars * 7.0 + 26); $out[] = min( (int) ($maxPx[$i] ?? 640), max((int) ($minPx[$i] ?? 48), $px) ); } return $out; }