Предполагая, что элементы в каждом из массивов изображений соответствуют напрямую, вы можете использовать ключ из одного массива для ссылки на соответствующее значение в другом.
<?php foreach($product['images']['small'] as $key => $image ): ?>
<a href="<?php echo $product['images']['big'][$key] ?>">
<img src="<?php echo $image ?>">
</a>
<?php endforeach; ?>
Я думаю, что было бы проще, если бы вы могли изменить products.php, чтобы вместо этого возвращать такие данные:
'images' => [
['small' => 'photo/small_photos/1/pic1.jpg',
'thumg' => 'photo/small_photos/1/pic1.jpg',
'big' => 'photo/big_photos/2/pic11.jpg',
],
['small' => 'photo/small_photos/1/pic2.jpg',
'thumg' => 'photo/small_photos/1/pic2.jpg',
'big' => 'photo/big_photos/2/pic22.jpg'
],
],
Это позволит вам выводить значения более аккуратно:
<?php foreach($product['images'] as $image ): ?>
<a href="<?php echo $image['big'] ?>">
<img src="<?php echo $image['small'] ?>">
</a>
<?php endforeach; ?>
Если элементы в трех разных массивах изображений не не соответствуют напрямую, то вам в значительной степени придется это сделать, потому что в противном случае невозможно определить, какой из них идет с каким.