client->findGroups(); $keys = []; foreach ($groups as $group) { $keys = array_merge($keys, array_keys($group)); } $keys = array_unique($keys); $table = new Table($output); $table->setHeaders($keys); $table->setStyle('box'); foreach ($groups as $group) { $row = []; foreach ($keys as $key) { $row[] = isset($group[$key]) ? $group[$key] : null; } $row = array_map(fn($v) => match(true) { is_bool($v) => "".($v?"true":"false")."", is_int($v) => "{$v}", is_string($v) => "{$v}", default => $v, }, $row); $table->addRow($row); } $table->render(); return self::SUCCESS; } }