codice:
	$query= $this->connect->query("SELECT * FROM tb_menu WHERE id_menu_s IN (".$request.") ORDER BY id DESC");	$arrayRows=array();
	$fieldsToRemove = array("id_menu_p"=>"","id_menu_s"=>"");
	while ($thisrow = mysqli_fetch_assoc($query))
		{
		$thisrow=array_diff_key($thisrow,$fieldsToRemove);
		$arrayRows[]=$thisrow;
		}
		
	var_dump($arrRows);
Allora, quello che forse non ti è chiaro è che con la while stai leggendo TUTTI i record restituiti dalla query, quindi se vuoi eliminare dei campi lo devi fare PRIMA di inserire l'array della riga, restituito dalla mysqli_fetch_assoc, nell'array principale $arrayRows, il quale conterrà tanti elementi quanti sono i record restituiti dalla query, OGNUNO DEI QUALI sarà un array con i campi del relativo record ed i rispettivi valori.

Detto questo, tutto questo è ASSOLUTAMENTE SBAGLIATO: se, come è chiaro dal codice, stai creando due righe più sopra la query, NON HA NESSUN SENSO che tu faccia restituire tutti i campi dalla tabella quando ne vuoi solo alcuni:

NON fare SELECT * FROM, ma fai SELECT campo_che_mi_serve1, campo_che_mi_serve2, ...

Elencando i campi che ti servono e omettendo i campi che non vuoi... E' inutile, rischioso, dispendioso e controproducente fare restituire tutti i campi quando te ne servono solo alcuni!

Infine: hai attentamente controllato cosa c'è nella variabile $request, VERO? VERO? Mi raccomando, NON è una variabile il cui valore viene preso direttamente da $_GET, $_REQUEST, $_POST o $_SERVER, VERO? Giuramelo, perché se non è così con un solo accesso ti possono eliminare tutte le tabella del db...