{"name":"getArray","operator":null,"title":"getArray","type":"command","url":"https://community.bistudio.com/wiki/getArray","revid":377159,"updated":"2026-01-01T10:40:02Z","groups":["Config"],"status":"ok","replaced_by":[],"games":[{"game":"arma1","name":"Armed Assault","version":"1.00"},{"game":"arma2","name":"Arma 2","version":"1.00"},{"game":"arma2oa","name":"Arma 2: Operation Arrowhead","version":"1.50"},{"game":"tkoh","name":"Take On Helicopters","version":"1.00"},{"game":"arma3","name":"Arma 3","version":"0.50"}],"since":{"game":"arma1","name":"Armed Assault","version":"1.00"},"arma3_since":"0.50","branch":null,"locality":{"argument":null,"effect":null,"server_exec":false},"exec":null,"description":"Extract array from config entry.","syntaxes":[{"syntax":"getArray config","since":null,"effect":null,"exec":null,"params":[{"name":"config","type":"Config","optional":false,"default":null,"description":null,"types":["Config"],"since":null,"text":"config: Config"}],"returns":{"type":"Array of Anything","types":["Array","Anything"],"description":null,"text":"Array of Anything"},"form":"unary","operator":null,"left":null,"right":{"text":"config","types":["Config"]}}],"examples":[{"text":"```sqf\n_array = getArray (configFile >> \"CfgVehicles\" >> \"Thing\" >> \"threat\");\n```","code":["_array = getArray (configFile >> \"CfgVehicles\" >> \"Thing\" >> \"threat\");"]}],"multiplayer":null,"problems":null,"aliases":[],"see_also":["configFile","a / b","configName","count","getText","getNumber","inheritsFrom","isArray","isClass","isNumber","isText","select"],"notes":[{"user":"ffur2007slx2_5","date":"2014-03-28T07:52:00Z","text":"(Arma 3 1.14) It's recommended to use BIS_fnc_getCfgData or BIS_fnc_returnConfigEntry to get variable cfg data rather than conditioning via isNumber, isText, isArray, getNumber, getText and getArray combination.\n\nTraditional workaround:\n\n```sqf\n_cfg = configFile >> \"CfgVehicles\" >> _SomeAddonClassName >> \"DestructionEffects\" >> \"Smoke1\" >> \"type\";\nswitch ( true ) do\n{\n    case (isNumber _cfg): {getNumber _cfg};\n    case (isText _cfg): {getText _cfg};\n    case (isArray _cfg): {getArray _cfg;};\n    default { nil };\n};\n```\n\n**Recommended workaround:**\n\n```sqf\n(configFile >> \"CfgVehicles\" >> _SomeAddonClassName >> \"DestructionEffects\" >> \"Smoke1\" >> \"type\") call BIS_fnc_getCfgData;\n```\n\nTo return default value once entry was not found, we can use BIS_fnc_returnConfigEntry instead of BIS_fnc_getCfgData.\n\n```sqf\n[(configFile >> \"CannonFire\" >> \"LightExp\"),\"lifeTime\",0] call BIS_fnc_returnConfigEntry; // 0.5\n```"},{"user":"demellion","date":"2018-01-12T19:48:00Z","text":"There is special behaviour if you try to read a description.ext config entry Array that contains a Boolean.\n\nGetting array in **MP** will result in Number, while **SP** will return String.\n\n```sqf\n// SP with false in array\ngetArray (missionConfigFile >> \"someClass\" >> \"someArray\") // -> \"false\"\n\n// MP with false in array\ngetArray (missionConfigFile >> \"someClass\" >> \"someArray\") // -> 0\n```"}],"categories":["ArmA: Armed Assault: New Scripting Commands","ArmA: Armed Assault: Scripting Commands","Arma 2: Operation Arrowhead: Scripting Commands","Arma 2: Scripting Commands","Arma 3: Scripting Commands","Command Group: Config","Introduced with Armed Assault version 1.00","Scripting Commands","Take On Helicopters: Scripting Commands"]}