在PHP类中使用数组
我第一次尝试使用类和对象,我想我应该为一个可以存储书籍之类的东西的盒子制作一个模板。(从现实世界项目的角度思考) 我得到一个错误,它不是数组或其他东西 有人能给我指一下正确的方向吗在PHP类中使用数组,php,arrays,class,Php,Arrays,Class,我第一次尝试使用类和对象,我想我应该为一个可以存储书籍之类的东西的盒子制作一个模板。(从现实世界项目的角度思考) 我得到一个错误,它不是数组或其他东西 有人能给我指一下正确的方向吗 通常这个类是一个单独的文件,但我只是在这里学习。调用$BookBox->getThings()时调用的实际上是一个对象而不是数组 您可以尝试以下方法: $books = $BookBox->GetThings(); echo $books[2]; 调用$BookBox->getThings()时调用的实际上是
通常这个类是一个单独的文件,但我只是在这里学习。调用$BookBox->getThings()时调用的实际上是一个对象而不是数组 您可以尝试以下方法:
$books = $BookBox->GetThings();
echo $books[2];
调用$BookBox->getThings()时调用的实际上是一个对象,而不是数组 您可以尝试以下方法:
$books = $BookBox->GetThings();
echo $books[2];
您使用的是什么版本的PHP 仅在PHP5.4中添加了数组解引用(引用到返回的数组中) 如果您使用的是以前的版本,则必须执行以下操作:
$books = $BookBox->getThings();
echo $books[2];
编辑
由于您正在将书籍推入一个框中,$Books[2]
将返回书籍对象的一个实例。Echo用于输出字符串,因此出现错误
您可以回显书本的特定属性,也可以通过执行以下操作打印出所有属性:
print_r($books[2]);
您使用的是什么版本的PHP 仅在PHP5.4中添加了数组解引用(引用到返回的数组中) 如果您使用的是以前的版本,则必须执行以下操作:
$books = $BookBox->getThings();
echo $books[2];
编辑
由于您正在将书籍推入一个框中,$Books[2]
将返回书籍对象的一个实例。Echo用于输出字符串,因此出现错误
您可以回显书本的特定属性,也可以通过执行以下操作打印出所有属性:
print_r($books[2]);
首先,您不能执行
echo
,因为您将得到的不是字符串而是对象。改用print\u r()
或var\u dump()
第二,就像这里的其他答案一样,你应该这样做
$books = $BookBox->getThings();
print_r($books[2]);
但是我建议您使用getThings()
接受一个变量来获取指定的数组元素:
function getThings($key = null) {
if ($key) {
return isset($this->storedArray[$key]) ? $this->storedArray[$key] : null;
} else {
return $this->storedArray;
}
}
// Then you can do this
// print_r($BookBox->getThings(2));
首先,您不能执行
echo
,因为您将得到的不是字符串而是对象。改用print\u r()
或var\u dump()
第二,就像这里的其他答案一样,你应该这样做
$books = $BookBox->getThings();
print_r($books[2]);
但是我建议您使用getThings()
接受一个变量来获取指定的数组元素:
function getThings($key = null) {
if ($key) {
return isset($this->storedArray[$key]) ? $this->storedArray[$key] : null;
} else {
return $this->storedArray;
}
}
// Then you can do this
// print_r($BookBox->getThings(2));
我的版本是5.3.10。那么你是说如果是5.4,我的代码会工作吗?@user1159454:是的,没错。但是,我不建议使用任何PHP5.4独有的功能,因为webhosts在一段时间内不会推出它。好吧,我仍然会遇到一个错误。可捕获的致命错误:无法将类Book的对象转换为stringMy版本为5.3.10。那么你是说如果是5.4,我的代码会工作吗?@user1159454:是的,没错。但是,我不建议使用任何PHP5.4独有的功能,因为webhosts在一段时间内不会推出它。好吧,我仍然会遇到一个错误。可捕获的致命错误:无法将类Book的对象转换为字符串