这段脚本对我来说太长了。有什么办法可以优化它吗?
PHP如何优化脚本?
function delteg($string){
$keyp=0;
$out="";
for ($i=0; $i<strlen($string); $i++) {
if ($string[$i]=="<"):
$keyp=1;
endif;
if ($keyp==0):
$out.=$string[$i];
endif;
if ($string[$i]==">"):
$keyp=0;
endif;
}
$out = substr($out,0,strlen($out));
return $out;
}
$time_step = array();
$datetime = array();
$G = array();
$HHii = array();
$cloud_cover = array();
$precipitation = array();
$pressure = array();
$temperature = array();
$humidity = array();
$wind_direction = array();
$wind_velocity = array();
$falls = array();
$drops = array();
$n = 0;
$handle = fopen ("http://rp5.ua/xml/257885/en", "r");
while (!feof ($handle)) {
$buffer = fgets($handle, 4096);
if (strpos($buffer, "country_id")>0) ($country_id[$n]=delteg($buffer));
if (strpos($buffer, "point_name")>0) ($point_name[$n]=delteg($buffer));
if (strpos($buffer, "point_name_trim")>0) ($point_name_trim[$n]=delteg($buffer));
if (strpos($buffer, "point_name2")>0) ($point_name2[$n]=delteg($buffer));
if (strpos($buffer, "point_timestamp")>0) ($point_timestamp[$n]=delteg($buffer));
if (strpos($buffer, "gmt_add")>0) ($gmt_add[$n]=delteg($buffer));
if (strpos($buffer, "point_date")>0) ($point_date[$n]=delteg($buffer));
if (strpos($buffer, "point_date_time")>0) ($point_date_time[$n]=delteg($buffer));
if (strpos($buffer, "time_step")>0) ($time_step[$n]=delteg($buffer));
if (strpos($buffer, "datetime")>0) ($datetime[$n]=delteg($buffer));
if (strpos($buffer, "G")>0) ($G[$n]=delteg($buffer));
if (strpos($buffer, "HHii")>0) ($HHii[$n]=delteg($buffer));
if (strpos($buffer, "cloud_cover")>0) ($cloud_cover[$n]=delteg($buffer));
if (strpos($buffer, "precipitation")>0) ($precipitation[$n]=delteg($buffer));
if (strpos($buffer, "pressure")>0) ($pressure[$n]=delteg($buffer));
if (strpos($buffer, "temperature")>0) ($temperature[$n]=delteg($buffer));
if (strpos($buffer, "humidity")>0) ($humidity[$n]=delteg($buffer));
if (strpos($buffer, "wind_direction")>0) ($wind_direction[$n]=delteg($buffer));
if (strpos($buffer, "wind_velocity")>0) ($wind_velocity[$n]=delteg($buffer));
if (strpos($buffer, "falls")>0) ($falls[$n]=delteg($buffer));
if (strpos($buffer, "drops")>0) :($drops[$n]=delteg($buffer));
$n++;
endif;
}
fclose ($handle);
for ($i=0; $i<$n; $i++) {
echo $country_id[$i]." - ".$point_name[$i]. " etc.....";
}
而不是使用优化脚本,尝试解释使用它的用途和一些示例内容! – RobertPitt 2011-06-05 10:55:04