php 怎么比较俩个不同元素的多维数组的新值与旧值?返回一个新数组.写入记录?

//旧值
$old_val = [
    ['id'=>22,'num'=>1],
    ['id'=>24,'num'=>2]
];
//新值
$new_val = [
    ['id'=>22,'num'=>1,'kw'=>40s],
    ['id'=>24,'num'=>2,'kw'=>40],
    ['id'=>26,'num'=>1,'kw'=>40]
];

我想比较两个不同元素的多维数组,组成一个新的这种格式数组,插入数据库。该怎么做?
$new_arr = [
    ['field_name'=>'id','old_val'=>22,'new_val'=>22],
    ['field_name'=>'num','old_val'=>1,'new_val'=>1],
    ['field_name'=>'kw','old_val'=>'','new_val'=>40s],
    ['field_name'=>'id','old_val'=>24,'new_val'=>24],
    ['field_name'=>'num','old_val'=>2,'new_val'=>2],
    ['field_name'=>'kw','old_val'=>'','new_val'=>40],
    ['field_name'=>'id','old_val'=>26,'new_val'=>26],
    ['field_name'=>'num','old_val'=>'','new_val'=>1],
    ['field_name'=>'kw','old_val'=>'','new_val'=>40]
];

https://www.imooc.com/article/7857