我有幾個簡單的PHP函數我正在使用。一個用於檢測用戶是否在iPhone上,另一個用於調整圖像的大小(如果是的話)。簡單的PHP函數和變量混淆
<?php
/* User agent function */
function userAgent(){
$browser = strpos($_SERVER['HTTP_USER_AGENT'],"iPhone");
if ($browser == true) { $var = 1; }
return $var;
}
/* Image resize function */
function imageResize($width, $height) {
$var = userAgent($var);
if($var == 1){
$width = round($width/2);
$height = round($height/2);
}else{
$width = round($width);
$height = round($height);
}
echo "width=\"$width\" height=\"$height\"";
}
?>
問題是,如果我手動更改$ VAR爲0或1的userAgent()函數,圖像不調整,但如果我改變$ VAR來== 0的imageResize( )功能,他們這樣做。
爲什麼變量沒有從第一個函數傳遞到第2個函數,還是我在做其他錯誤?
謝謝,真的知道這一點,雖然使用雙重否定感覺很奇怪。我不使用CSS,因爲我正在調整圖像大小,並且最好使用內聯HTML。我也將列出多個用戶代理,所以在我原來的問題,我只是改變$ browser = strpos($ _ SERVER ['HTTP_USER_AGENT'],「iPhone」);到$ browser = strpos($ _ SERVER ['HTTP_USER_AGENT'],「$ array」); 雖然真的有用,但再次感謝。 – theorise 2010-08-27 11:16:22
@dani不客氣。請注意'strpos'不接受數組,你必須建立一個循環來檢查多個用戶代理。使用CSS或內聯HTML在任何情況下都不應該有任何區別,只不過CSS是更現代化的做法...... – 2010-08-27 11:18:33
你是對的,我的不好。我認爲它沒有太大的區別,儘管內聯CSS僅僅在這個例子中看起來毫無意義,僅僅是因爲HTML對寬度和高度屬性的本地支持。實際上,談話有趣的話題,因爲我不知道他們的好處。 – theorise 2010-08-27 11:38:20