php修改数组问题,通过键的值修改对应键的值

array(365) { [0]=> array(12) {
["loginid"]=> string(3) "111" 
["course"]=> string(0) "30,32" 
["company"]=> string(0) "" 
["department"]=> string(0) ""
["name"]=> string(3) "111" 
["sex"]=> string(0) ""
["logid"]=> NULL
["30"]=> NULL 
["31"]=> NULL 
["32"]=> NULL 
["33"]=> NULL 
["34"]=> NULL 
} 
....

如上面数组,course里有30和32两个值,键里有30,31,32,33,34四个键。

course里没有31,33,34,则对应的31,33,34键的值修改为斜杠。php怎么写

<?php
foreach($dataall as &$datum) {
    $keys = array_keys($datum);
    $course = explode(',', $datum['courseid']);
    $nums = array_filter($keys, function($item){
        return is_numeric($item);
    });
    foreach($nums as $num) {
        if(array_key_exists($num, $datum) && !in_array($num, $course)) {
            $datum[$num] = '/';
        }
    }
}