شما $a را ابتدای حلقه تعریف کرده اید و $db را انتهای حلقه.
به ترتیب مقادیر زیر را داریم
$j = 1;
$i = 1;
$data = $a[sotoon1][kh1];//5
$db = [$a[sotoon2][kh2]; //5
حالا حلقه داخلی مقدار i را یک واحد اضافه می کند
$i = 2;
data = $a['sotoon2']['kh1'];//2
$db = $a['sotoon3']['kh2'];//2
حالا حلقه داخلی مقدار i را یک واحد دیگر اضافه می کند
$i = 3;
...
می توانید تا چند شماره دیگه هم ادامه دهید. خب دیگه شما خودتان باید متوجه ایراد کارتان شده باشید. دقت کنید که db و data آرایه نیستند تنها یک متغییر موقت برای نگهداری اطلاعات یک عنصر از آرایه a می باشند. (با توجه به اینکه جایی گفتید که میخوام data یک آرایه باشد)
اگر موفق به رفع مشکل نشدید بگید برنامه قراره چیکار کنه تا بهتر راهنمایی شوید.