When using an ACF repeater in v. 18.104.22.168, get_field() is returning an integer that contains the number of rows in that field instead of an array of the data in that field.
This is only happening on the search page, the archive page which relies on the same code works fine, returning an array, so it seems that it has something to do with the_loop being called from search.php.
While I understand what you’re doing, it’s not really a good idea to depend on ACF returning an array of rows. Over the years I’ve been using ACF I’ve seen it change back and forth in places. I’ve coded for an array only to have sites break after an update because it was not longer returning an array in that place.
I’ll mark this for the developer to look at if he can. Since you marked this as the repeater add on I’m assuming you’re using ACF4, which isn’t really being updated except for bugs and changes to WP the make it required.