milestone->riskAccumulate), h::td($firstRisk->name), h::td($firstRisk->impact), h::td($firstRisk->probability), h::td($firstRisk->rate), h::td($firstRisk->prevention) ) : null; $trListHtml = array_map(function($risk) { return "{$risk->name}{$risk->impact}{$risk->probability}{$risk->rate}{$risk->prevention}"; }, $executionRisk); return h::table ( setClass('table bordered bg-white mb-4 text-left'), h::thead ( h::tr(h::th(set::colspan(6), $lang->milestone->executionRisk)), h::tr ( h::th($lang->milestone->riskCountermove), h::th($lang->milestone->riskDescriptio), h::th($lang->milestone->riskPossibility), h::th($lang->milestone->riskSeriousness), h::th($lang->milestone->riskFactor), h::th($lang->milestone->riskMeasures) ) ), h::tbody ( $firstTR, html(implode($trListHtml)) ) ); };