function write_csv($fileName, $list)
{
    $csv = League\Csv\Writer::createFromFileObject(new SplTempFileObject());
    $csv->insertOne(['alpha3', 'number', 'decimals', 'name', 'countries']);
    foreach ($list as $o) {
        $csv->insertOne([$o->alpha3, $o->number, $o->decimals, $o->name, json_encode($o->countries)]);
    }
    file_put_contents($fileName, $csv->__toString());
}
function write_csv($fileName, $list)
{
    $csv = League\Csv\Writer::createFromFileObject(new SplTempFileObject());
    $csv->insertOne(['code', 'country']);
    foreach ($list as $o) {
        $csv->insertOne([$o->code, $o->country]);
    }
    file_put_contents($fileName, $csv->__toString());
}
function write_csv($fileName, $list)
{
    $csv = League\Csv\Writer::createFromFileObject(new SplTempFileObject());
    $csv->insertOne(['alpha2', 'alpha3', 'number', 'name']);
    foreach ($list as $o) {
        $csv->insertOne([$o->alpha2, $o->alpha3, $o->number, $o->name]);
    }
    file_put_contents($fileName, $csv->__toString());
}