Din pacate titlul postului nu exprima concrete ce am dorit sa scriu acum.
Deci ideea e urmatoarea, cum sa obtin numarul paginei cerute de client? Ex.
avem pagina index.php?page=1 in cod trebuie sa obtinem valoare la parametrul page, o facem simplu
$page = $_GET['page'];
sigur trebuie apoi $page sa fie prelucrat ca sa nu fie trimis un SQL Injection sau chiar valoare negativa a paginei, -1 si iata solutia simpla este sigur:
$page = (isset($_GET['page'] && $_GET['page'] > 0) ? (int)$_GET['page'] : 0;
dar mi-a venit si o astfel de idee:
$page = (isset($_GET['page']) ? abs((int)$_GET['page']) : 0
parerea mea e ca arata putin mai elegant, dar care e mai rapdi?
xdebug_trace mi-a aratat rezulatele:
0.0016 pentru if()
0.0482 pentru abs()
sigur este timpul de executie. Codul pentru test a fost:
$numbers = array();
xdebug_start_trace('/tmp/if.xt');
for ($i = -1000; $i < 0; $i++) {
$value = ($i > 0) ? $i : 0;
}
xdebug_stop_trace();
xdebug_start_trace('/tmp/abs.xt');
for ($i = -1000; $i < 0; $i++) {
$value = abs($i);
}
xdebug_stop_trace();
Deci totusi variantul cu if() a fost mai rapdi, bun il folosesc atunci pe el.