如何使用foreach获取php的值和名称
我要获取此变量的值:如何使用foreach获取php的值和名称,php,Php,我要获取此变量的值: $File = new FileFromDB($_GET['filename']); 通过尝试此代码: foreach($File as $key => $name){ print_r( "$key => $name"); } 但它不工作,当我打印$file时,它会显示 FileFromDB对象([filename:FileFromDB:private]=>tp4.php) pliz帮助我如何在没有所有这些语法的情况下只获取“tp4.php”。
$File = new FileFromDB($_GET['filename']);
通过尝试此代码:
foreach($File as $key => $name){
print_r( "$key => $name");
}
但它不工作,当我打印$file时,它会显示
FileFromDB对象([filename:FileFromDB:private]=>tp4.php)
pliz帮助我如何在没有所有这些语法的情况下只获取“tp4.php”。如果您只想要tp4.php,请按如下方式操作:
foreach($File as $key => $name){
echo $name;
}
$file = new FileFromDB($_GET['filename']);
$filename = $file->getFilename();
$file
是类型FileFromDB
中的对象<代码>文件名是该对象的私有(!)属性。(您的var转储显示了这一点)
要访问文件名,FileFromDB
需要提供访问属性的公共方法:
class FileFromDB
...
public function getFilename() {
return $this->filename;
}
...
}
然后像这样使用它:
foreach($File as $key => $name){
echo $name;
}
$file = new FileFromDB($_GET['filename']);
$filename = $file->getFilename();
$File
对象的结构是什么?与所有这些foreach
内容不同,只需执行print\r($File)
并将输出添加到您的问题中。您必须区分数组和对象。两者都有内在的东西,但它们仍然是不同的东西!print_r($File)show FileFromDB Object([filename:FileFromDB:private]=>tp4.php)这个问题似乎是离题的,因为它在php手册中有明确的描述。这将输出大量其他内容,$File
对象中的所有内容。是的,我刚刚看到$File甚至不是数组,所以甚至不需要循环它。看看hek2mgl的答案。非常感谢它现在起作用了:):(y)