2010-10-28 40 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'];