我做我的網站上整理microoptimizations並注意到,在許多被通過AJAX叫我的PHP文件,我有多次使用的PHP文件中的$ _ GET變量:
<?php include 'connect.php';
$var = $_GET['x'];
$var1 = $var . "...";
$var2 = $var . $var;
$sql = mysqli_query($cxn, "SELECT user FROM login WHERE login_id = '$var'");
//etc.
在這一點,我的想法是,如果代碼被改寫爲:
<?php include 'connect.php';
$var1 = $_GET['x'] . "...";
$var2 = $_GET['x'] . $_GET['x'];
$sql = mysqli_query($cxn, "SELECT user FROM login WHERE login_id =
'".$_GET['x']."'");
//etc.
此,而等同於輸出的一個代碼塊,實際上會比較慢,因爲代碼必須$ _GET「X」 4倍獨立倍而不是第一塊代碼中的一次。第一個更快,因爲$ _GET ['x']的這個拷貝被訪問和更快地處理。同樣,我想這也將適用於PHP函數()和$ _ POST,如以下幾點:
$unixtime = time();
while ($row = mysqli_fetch_assoc($sql)) {
$TimeVar = $unixtime; //Good....a copy of time() is used each time, so time is
calculated only once
}
VS:
while ($row = mysqli_fetch_assoc($sql)) {
$TimeVar = time(); //Bad....time() is recalculated for each iteration of the while loop
}
所以,做$ _GETs和$ _POSTs得到每個單獨處理實例?諸如time()之類的函數? 對不起,初學者的水平問題...希望這是確定:)
什麼實際問題? :) –
代碼1與代碼2的執行方式完全相同。每次使用時,您都不必「獲取」$ _GET數組。 php在腳本運行之前處理查詢字符串,並且與之後的任何其他變量一樣存在。 –
對不起!在結束時添加問題 –