提问人:Chaosjosh 提问时间:6/13/2017 更新时间:6/13/2017 访问量:92
在 Zend 中使用变量调用 Class 属性
Calling Class property using variables in Zend
问:
我正在创建部分,其中项目属性名称从数组传递以访问这些属性的值,但是在定义 .我将如何让它工作?Undefined property of Namespace\Entity::$variable
$property->{$variable}
下面是代码示例:
foreach ($items as $item) {
$thumb_sizes = [];
foreach ($image_sizes as $thumb_size) {
if(!empty($item->thumb{$thumb_size})) {
array_push($thumb_sizes, preg_replace('/^http:/i','https:',$item->thumb{$thumb_size}));
}
}
}
答:
0赞
Dolly Aswin
6/13/2017
#1
如果您像这样访问该属性,则表示具有数组键作为值的 has 属性。这是说明$item->thumb{$thumb_size}
$item
thumb
class Item
{
public $thumb = ["100x100" => "value", "75x75" => "value"];
}
但是,如果您想象使用这种方式来访问 的属性,则无法将属性名称与变量连接起来。
如果要连接变量,请先进行,然后保存到变量中。然后使用变量名称访问该属性,如下所示$item->thumb{$thumb_size}
$item
$thumbSize = "thumb" . $thumb_size;
if(!empty($item->$thumbSize)) {
.
.
.
}
评论