- var_dump: documentation ( source)
- array_values: documentation ( source)
- preg_filter: documentation ( source)
<?php
$user = (object) [
'roles' => [
'student', //remove
'grade_1_student',
'grade_4_student',
'grade_some_student', //remove
'arbitrarty-0', //remove
'grade_9_student',
],
];
function getStudentGradesFromRoles(array $roles) {
return array_values(preg_filter('/^(grade)_(\d)_student$/', '$1-$2', $roles) ?: []);
}
$grades = getStudentGradesFromRoles((array) $user->roles);
var_dump($grades);