asics
Новичок
Foreach очень тормозит.
Есть 2 варианта кода, первый лаконичный, но почему-то раз в 10 медленнее выполняется, чем второй.
1 код:
2 код(здесь вместо второго перебора массива foreach просто вручную забиты все валюты вместо 'valuta_R'):
Вопрос почему первый вариант настолько медленнее второго? Я ожидал примерно равной скорости.
Есть 2 варианта кода, первый лаконичный, но почему-то раз в 10 медленнее выполняется, чем второй.
1 код:
PHP:
<?php
$valuti=array('wmr','wmz','wme','wmu','wmy','wmb','wmg','gold','yandex',
'rupay','rur_moneymail','usd_moneymail','eur_moneymail','rur_rbk','usd_pecunix',
'eur_pfctmoney','usd_pfctmoney','usd_v_money','eur_liberty','usd_liberty','altgld_usd',
'ukrm_usd','ukrm_uah','c_gold_usd','numox_usd','paypal','zpaym','fethard_usd','alertpay',
'easyp_blr','mnybook','w1_rur','sms');
foreach ($valuti as $valuta_L) {
foreach ($valuti as $valuta_R) {
preg_match('/(?<!\d)'.$valuta_L.','.$valuta_R.',(\d*\.\d*|\d*),(\d*\.\d*|\d*)\;/',$content,$_wmr);
echo $valuta_L.'_'.$valuta_R.'<br>';
}}
?>
PHP:
<?php
$valuti=array('wmr','wmz','wme','wmu','wmy','wmb','wmg','gold','yandex',
'rupay','rur_moneymail','usd_moneymail','eur_moneymail','rur_rbk','usd_pecunix',
'eur_pfctmoney','usd_pfctmoney','usd_v_money','eur_liberty','usd_liberty','altgld_usd',
'ukrm_usd','ukrm_uah','c_gold_usd','numox_usd','paypal','zpaym','fethard_usd','alertpay',
'easyp_blr','mnybook','w1_rur','sms');
foreach ($valuti as $valuta_L) {
preg_match('/(?<!\d)'.$valuta_L.',wmr,(\d*\.\d*|\d*),(\d*\.\d*|\d*)\;/',$content,$_wmr);
preg_match('/(?<!\d)'.$valuta_L.',wmz,(\d*\.\d*|\d*),(\d*\.\d*|\d*)\;/',$content,$_wmz);
preg_match('/(?<!\d)'.$valuta_L.',wme,(\d*\.\d*|\d*),(\d*\.\d*|\d*)\;/',$content,$_wme);
...
...
...
preg_match('/(?<!\d)'.$valuta_L.',paypal,(\d*\.\d*|\d*),(\d*\.\d*|\d*)\;/',$content,$_paypal);
...
...
...
preg_match('/(?<!\d)'.$valuta_L.',sms,(\d*\.\d*|\d*),(\d*\.\d*|\d*)\;/',$content,$_sms);
preg_match('/(?<!\d)'.$valuta_L.',zpaym,(\d*\.\d*|\d*),(\d*\.\d*|\d*)\;/',$content,$_zpaym);
preg_match('/(?<!\d)'.$valuta_L.',alertpay,(\d*\.\d*|\d*),(\d*\.\d*|\d*)\;/',$content,$_alertpay);
echo $valuta_L.'_'.$valuta_R.'<br>';
}
?>

