У меня есть класс php, который взаимодействует с базой данных mysql, а затем извлекает массив в результате.
$res = $db->getResult(); // $res is an array
Я использую его с print_r:
print_r($res);
, и он выводит это:
Array
(
[0] => Array
(
[id] => 1
[firstname] => Mohamed
[lastname] => Kadri
)
[1] => Array
(
[id] => 2
[firstname] => Slim
[lastname] => Nejmaoui
)
[2] => Array
(
[id] => 3
[firstname] => Sameh
[lastname] => Chraiti
)
И с foreach:
foreach ($res as $row) {
echo $row['id'] . ' ' . $row['firstname'] . ' ' . $row['lastname'] . '<br />';
}
это выводит это:
1 Mohamed Kadri
2 Slim Nejmaoui
3 Sameh Chraiti
, но когда есть только одна строка, это показывает:
1 1 1
M M M
K K K
(1 - это идентификатор, M - это первая буква в имени, а K - первая буква в фамилии).
Так что, возможно, при наличии более одной строки класс генерируетмногомерный массив и foreach будут работать с ним, и когда есть только одна строка, он генерирует простой массив, который будет обрабатываться как многомерный массив именно таким foreach.
Так что я должен сделать условие для обработкиодин из двух типов foreach?
Спасибо.