Использовать ассоциативный массив, чтобы дать ключам имена Country_1, Country_2, ... нет никакого смысла. Тогда уж их можно просто пронумеровать. Подозреваю, что от вас хотят чего-то такого:
$contry_data[ 0 ] = array( 'country' => 'Украина', 'population' => 46, 'capital' => 'Киев' );
$contry_data[ 1 ] = array( 'country' => 'Нидерланды', 'population' => 17.02, 'capital' => 'Амстердам' );
$contry_data[ 2 ] = array( 'country' => 'Норвегия', 'population' => 5.233, 'capital' => 'Осло' );
Ну или правильнее даже так:
$contry_data = array (
'Украина' => array ( 'population' => 46, 'capital' => 'Киев' ),
'Нидерланды' => array ( 'population' => 17.02, 'capital' => 'Амстердам' ),
'Норвегия' => array ( 'population' => 5.233, 'capital' => 'Осло' ),
);
У вас 3 типа данных (название страны, население, столица) и 3 элемента данных (Украина, Нидерланды и Норвегия). Не понятно, о каких таблицах хоть 2х3, хоть 3х2 идёт речь. Тут как ни поверни, получается 3х3.
echo "<table><tr><th>страна</th><th>население</th><th>столица</th></tr>";
foreach ( $contry_data as $country => $data ) {
echo "<tr><td>".$country."</td>";
foreach ( $data as $key => $value )
echo "<td>".$value."</td>";
echo "</tr>";
}
echo "<table>";
Ну а для транспонированного вида я ничего лучше не придумал:
echo "<table><tr><td>страна</td>";
foreach ( $contry_data as $country => $data )
echo "<td>".$country."</td>";
echo "</tr><tr><td>население</td>";
foreach ( $contry_data as $country => $data )
echo "<td>".$data[ 'population' ]."</td>";
echo "</tr><tr><td>столица</td>";
foreach ( $contry_data as $country => $data )
echo "<td>".$data[ 'capital' ]."</td>";
echo "</tr><table>";