foreach ($ match as $ match) {echo match [1]. "-". match [2];}
 Я хочу match[1] а значение match[2] должно отображаться в таблице html с двумя столбцами.  например 
 Name | Percent --------|----------- Mathew | 95% 
  где mathew match[1] а процент match[2] 
Как я добавляю html-теги между ними, и для вашей информации было около 50 имен.
 <table> <tr> <th>Name</th> <th>Percent</th> </tr> <?php foreach($matches as $match): ?> <tr> <td><?php print $match[1]; ?></td> <td><?php print $match[2]; ?></td> </tr> <?php endforeach; ?> </table> 
Будьте осторожны, что вы действительно имеете в виду соответствие [1] и соответствие [2] и не соответствуют [0] и соответствуют [1] … первый элемент в массиве PHP равен 0.
 <table> <?php foreach($matches as $match) { ?> <tr><td><?php echo $match[1]; ?></td> <td><?php echo $match[2]; ?></td> </tr> <?php } ?> </table> 
Ваш массив совпадений не может сделать то, что вы хотите. Я думаю, вы вытаскиваете данные из базы данных.
 <?php $query = "SELECT * FROM `db_table` "; $result= mysql_result($query); ?> <table> while($matches = mysql_fetch_assoc($result)){ ?> <tr> <?php foreach($matches AS $match) { ?> <td><?php echo $match[0]; ?></td> <td><?php echo $match[1]; ?></td> <?php } ?> </tr> <?php } ?> </table>