Либо передать в функцию или объявить как глобальный
function abc($a,$key_list){
ИЛИ
function abc($a){
global $key_list;
//rest of code
РЕДАКТИРОВАТЬ:
Когда вы передаете массив в качестве параметра функции, вы должнытакже передайте значение в вызове
при вызове этой функции это должно быть
//array should be declared before calling function
$key_list=array("list"=>array("task","duration"));
abc($a,$key_list); //pass this array