You can use an anonymous function and transmit value of local variable into your myarraymap
second argument this way:
function myarraymap($item,$item2) {
return $item[$item2];
}
$param = 'some_value';
$ids = array_map(
function($item) use ($param) { return myarraymap($item, $param); },
$data['student_teacher']
);
Normally it may be enough to just pass value inside anonymous function body:
function($item) { return myarraymap($item, 'some_value'); }
As of PHP 7.4, you can use arrow functions (which are basically short anonymous functions with a briefer syntax) for more succinct code:
$ids = array_map(
fn($item) => myarraymap($item, $param),
$data['student_teacher']
);