Вы упомянули, что $value
находится в функции, но является публичной.Можете ли вы опубликовать функцию или уточнить, имели ли вы в виду объявление или создание экземпляра внутри функции?
Если вы создаете его экземпляр, это прекрасно, и вы можете использовать ключи массива для индексации $value
, как и любой другой массив:
$object = new classname;
$name = $object->value["name"];
$age = $object->value["age"];
// Or you can use foreach, getting both key and value
foreach ($object->value as $key => $value) {
echo $key . ": " . $value;
}
Однако, если вы говоритео объявлении public $value
в функции, тогда это синтаксическая ошибка.
Кроме того, если вы объявите $value
(внутри функции) без модификатора public
, тогда его scope ограничен этой функцией и не может быть public
.Массив выйдет из области видимости в конце функции и для всех намерений и целей прекратит свое существование.
Если эта часть кажется запутанной, я рекомендую прочитать о видимости в PHP .