0

我有一个我试图从中获取数据的对象。但我似乎被卡住了,任何帮助都会很棒,谢谢。

function att($prop, $what){
$reflObj = new ReflectionObject($prop);
$get = $reflObj->getProperty('attributes');
$get->setAccessible(true);
$info = $get->getValue($prop);

foreach($info as $inf){
$reflObj = new ReflectionObject($inf);

$title = $reflObj->getProperty('name');
$title->setAccessible(true);
$description = $title->getValue($inf);

var_dump("$description");

}
}

到目前为止的输出示例:

string(11) "< Min Child"
string(9) "< Train S"
string(4) "<Pub"
string(5) "<Shop"
string(7) "Balcony"
string(4) "Bath"
string(9) "Bathrooms"
string(3) "BBQ"
string(5) "Beach"
string(9) "Bed Linen"
string(8) "Internet"
string(15) "Central Heating"
string(7) "Coast <"
string(3) "Cot"

基本上希望从每个中获取数据。

4

1 回答 1

0
foreach($info as $inf){
$reflObj = new ReflectionObject($inf);

$title = $reflObj->getProperty('name');
$title->setAccessible(true);
$description = $title->getValue($inf);

var_dump("$description");

}

将此行更改为:

$everything = array();
foreach($info as $inf){
    $reflObj = new ReflectionObject($inf);

    $title = $reflObj->getProperty('name');
    $title->setAccessible(true);
    $description = $title->getValue($inf);

    $everything[] = $description;

}
var_dump($everything);

$everything现在是一个数组,其中包含按该输出排序的数据。像这样访问它的值:

$everything[0]

将 0 替换为您需要的索引。例如,3将屈服于第 4 个成员,即"<Shop".

您可以使用以下命令打印它们echo

echo $everything[0];

Reminder:var_dump()是一个输出对象数据的调试工具。它永远不应该用于获取输入,因为它的实现可能因系统而异。var_dump()除非特别需要,否则应从已发布的应用程序中省略所有代码。

于 2013-09-08T12:32:43.243 回答