<div class="currency">
<ul>
<? foreach ($obj as $element):?>
<? $color = ($element['percent_change_24h'] > 0) '#4ac06a' : '#ff8d8d'; ?>
<? $plus = ($element['percent_change_24h'] > 0) '+' : ''; ?>
<li>
<i class="cc <?=$element["symbol"];?> iconsi" title="<?=$element["name"];?>"></i>
<div class="block_coin">
<span class="coin_name"><?=$element["name"];?></span>
<span style="color: '<?=$color;?>';" class="coin_price"><?=$element['price_usd'];?></span>
<span style="color: '<?=$color;?>';" class="coin_change">(<?=$plus;?><?=$element["percent_change_24h"];?>%)</span>
</div>
</li>
<? endforeach; ?>
</ul>
</div>
Цикл foreach создаёт копию полученного массива. Если вы имеете дело с большими объёмами данных, такой подход не годится по очевидной причине: снижение производительности. Итератор SPL работает по другому: он обрабатывает один элемент итерируемого списка за раз, делая это куда более эффективно, нежели foreach.
При создании поставщиков данных (data providers) итераторы помогают сделать их более эффективными, предлагаю возможности ленивой загрузки (lazy loading). «Ленивая загрузка» означает то, что фактическое получение данных из источника выполняет только тогда, когда эти данные нужны. Помимо прочего, вы получаете возможность трансформации данных перед тем, как отдавать их клиенту объекта.
BX.ajax.runComponentAction('colobot:reviews::getList',{
// .. параметры которые будут отправлены в метод getListAction
// компонента reviews в пространстве имен colobot
}).then(function(){
// .. полезные действия
});
$query = mysqli_query($con, "INSERT INTO sales (name, color, adress, tel) VALUES (`{$name}`, `{$color}`, `{$adress}`, `{$tel}`)");
if ( !$query )
{
var_dump(mysqli_error($con));
}
$aMenuLinksNew[$menuIndex++] = array(
htmlspecialcharsbx($arSection["~NAME"]),
$arSection["~SECTION_PAGE_URL"],
$arResult["ELEMENT_LINKS"][$arSection["ID"]],
array(
"FROM_IBLOCK" => true,
"IS_PARENT" => false,
"DEPTH_LEVEL" => $arSection["DEPTH_LEVEL"],
),
);
{{=substr({=System:Now},3,2)}}
{=System:Now}
), начиная с 3 символа (третий символ - точка) мы возьмем 2.