使用数字和字符串属性处理php对象

使用数字和字符串属性处理php对象,php,object,joomla,Php,Object,Joomla,为Joomla创建自定义字段类型时,$this->value包含类似于print\r中的以下代码: JObject Object ( [_errors:protected] => Array ( ) [0] => 9 [1] => 8 [2] => 7 [3] => 6 [4] => 5 ) 我对检索编号属性中的值感兴趣。我可以将对象强制转换为数组,在其中循环,并从数字键中检索值

为Joomla创建自定义字段类型时,$this->value包含类似于print\r中的以下代码:

JObject Object
(
    [_errors:protected] => Array
        (
        )
    [0] => 9
    [1] => 8
    [2] => 7
    [3] => 6
    [4] => 5
)
我对检索编号属性中的值感兴趣。我可以将对象强制转换为数组,在其中循环,并从数字键中检索值,但这似乎很笨拙


有什么聪明的方法来处理这个对象吗

因为您使用了核心Joomla JObject类,所以可以像这样设置和获取变量:

$myObject->set('myProperty', $myValue);

$value = $myObject->get('myProperty');

无论您在set方法数组中放入什么,object,string都是get方法将返回的内容。

删除第一个属性如何

我认为这应该有效:

假设你的目标是a


取消设置$a->\ U错误:受保护

\u errors已经是一个数组,您可以从打印输出中看到它。传统智慧会建议,如果你应该访问这些错误,那么会有一个公共的getErrors方法或类似的可用方法。我不认识Joomla,所以不能进一步推测确实存在:很好,Clive,但正如我所说,我对对象中的其他数据感兴趣,而不是空错误数组。我看不出有任何方法可以检索此内容:抱歉,我错误地解析了打印输出。您希望他们已经使其可枚举-您是否在对象本身上尝试了foreach?谢谢,我现在尝试了在对象上循环,并且只返回编号的值,所以最好先强制转换它。仍然:是否有可能在不循环对象的情况下从中获取数组?问题是,对象是受保护的,这意味着它只能在对象内部和对象的子类中访问,因此我实际上没有删除它的权限。。。当我将其转换为数组时,它会转换为类似*的索引错误,我觉得这很奇怪,但可能是对象实现?