2010-10-28 44 views
2

我不明白這些字符->在這段代碼的功能:PHP:變量(數組)是函數嗎?

$var->getImageInfo(); 



功能 「getImageInfo()」 填充變量 「$ VAR」。

我可以使用的print_r函數來顯示所有的值,但我怎麼得到一個特定的值


echo "<pre>"; 
print_r($var->getImageInfo()); 
echo "</pre>"; 

回報

Array 
(
    [resolutionUnit] => 0 
    [fileName] => 1.jpg 
    [fileSize] => 30368 bytes 
    ... 
) 

我如何得到「檔案大小」爲實例?

+1

*(相關)* [參考 - 這是什麼符號在PHP中的意思](http:// stackoverflow。com/questions/3737139/reference-what-does-this-symbol-mean-in-php) – Gordon 2010-10-28 13:47:18

回答

3

在您的示例中,$var->getImageInfo(),變量$var是一個類的實例(也稱爲對象)。函數getImageInfo()被稱爲類方法。這是面向對象編程的一部分,也稱爲OOP。您可以瞭解更多關於此這裏 - http://php.net/manual/en/language.oop5.php

如果你想獲得您列出的數組的特定成員,你可以簡單地做:

$image_info = $var->getImageInfo(); 
echo $image_info['fileSize']; 
2

函數「getImageInfo()」填充變量「$ var」。

不,實際上它調用對象$var上的方法getImageInfo()

爲了使用返回數組,這樣做:

$res = $var->getImageInfo(); 
print $res['fileName']; 

瞭解更多關於在documentation工作對象在PHP。

+0

非常感謝! – Zebra 2010-10-28 15:32:27

2

$ var是一個對象(類),而getImageInfo是返回數組的類中的一個函數。將結果數組保存到另一個變量中以讀取其內容。

$array = $var->getImageInfo(); 
echo $array['fileSize']; 
+0

不客氣。 – 2010-10-28 15:48:13

4

$ var是一個對象。

getImageInfo()是此對象的一種方法 - 此方法返回一個數組。

,如果你想獲得一個特定的信息:

$info = $var->getImageInfo(); 
$fileName = $info['fileName']; 
+2

您不能在PHP中執行'$ var-> getImageInfo()['fileName'];'' – 2010-10-28 13:40:21

+0

但你可以做{$ var-> getImageInfo} ['fileName'] – 2010-10-28 13:52:36

+0

@Kevin,不,你不能。 – 2010-10-28 13:55:56

2

您正在爲一個函數調用的類中有這樣的:

$var->getImageInfo() 

爲了得到它變成一個常規的變量訪問您只需將其分配給一個正常變量a la:

$this = $var->getImageInfo(); 
echo $this['FileSize'];