Задача - выводить дополнительные изображения для товара. Данные каждого изображения являются массивом и хранятся в общем для всех изображений массиве - FILE_VALUE:
$arResult["DISPLAY_PROPERTIES"]["MORE_PHOTO"]["FILE_VALUE"]
Когда изображений несколько, например 2, в FILE_VALUE хранится массив вида (для удобства сократил количество свойств):
Array ( [0] => Array ( [ID] => 64 [HEIGHT] => 500 [WIDTH] => 950 [FILE_SIZE] => 144931 [CONTENT_TYPE] => image/jpeg [SRC] => /1.jpg ) [1] => Array ( [ID] => 65 [HEIGHT] => 500 [WIDTH] => 950 [FILE_SIZE] => 111784 [CONTENT_TYPE] => image/jpeg [SRC] => /2.jpg ) )
Он отлично обходится циклом:
<? foreach ($arResult["DISPLAY_PROPERTIES"]["MORE_PHOTO"]["FILE_VALUE"] as $PHOTO): ?>
<img src="<?=$PHOTO["SRC"]?>" />
<? endforeach; ?>
Но, когда картинка всего одна, то в FILE_VALUE хранится сразу массив с единственным элементом:
Array ( [ID] => 64 [HEIGHT] => 500 [WIDTH] => 950 [FILE_SIZE] => 144931 [CONTENT_TYPE] => image/jpeg [SRC] => /1.jpg )
И указанный выше цикл дает неожиданный результат - выводит тег столько раз, сколько элементов в массиве, а в атрибут src возвращает первый символ значения свойства:
<img src="6" />
<img src="5" />
<img src="9" />
<img src="1" />
<img src="/" />
ВОПРОС:
Как правильно описать исключение для случая, когда картинка всего одна?