PHP: переменная (массив) является функцией? - PullRequest
2 голосов
/ 28 октября 2010

Я не понимаю функции этих символов -> в этом коде:

$var->getImageInfo();

функция "getImageInfo ()" заполняет переменную "$ var".

Я могу использовать функцию print_r для отображения всех значений, но как мне получить конкретное значение

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

возвращает

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

как мне получить" fileSize ", например?

Ответы [ 5 ]

4 голосов
/ 28 октября 2010

$ var - это объект.

getImageInfo () - один из методов этого объекта - этот метод возвращает массив.

, если вы хотите получить конкретную информацию:

$info = $var->getImageInfo();
$fileName = $info['fileName'];
3 голосов
/ 28 октября 2010

В вашем примере, $var->getImageInfo(), переменная $var является экземпляром (также называемым объектом) класса. Функция getImageInfo() известна как метод класса. Это часть объектно-ориентированного программирования, также называемая ООП. Вы можете узнать больше об этом здесь - http://php.net/manual/en/language.oop5.php

Если вы хотите получить определенный член массива, который вы перечислили, вы можете просто сделать:

$image_info = $var->getImageInfo();
echo $image_info['fileSize'];
2 голосов
/ 28 октября 2010

Вы выполняете вызов функции внутри класса с помощью этого:

$var->getImageInfo()

Чтобы получить его в обычную переменную для доступа к определенным ключам, вам просто нужно присвоить ее нормальной переменной а-ля:

$this = $var->getImageInfo();
echo $this['FileSize'];
2 голосов
/ 28 октября 2010

$ var - это объект (класс), а getImageInfo - это функция в этом классе, которая возвращает массив. Сохраните полученный массив в другую переменную, чтобы прочитать его содержимое.

$array = $var->getImageInfo();
echo $array['fileSize'];
2 голосов
/ 28 октября 2010

функция "getImageInfo ()" заполняет переменную "$ var".

Нет, на самом деле он вызывает метод getImageInfo() для объекта $var.

Чтобы использовать возвращенный массив, сделайте следующее:

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

Подробнее о работе с объектами в PHP см. В документации .

...