首页 > 解决方案 > 想要获取数组值

问题描述

我有一个像下面这样的数组。

在这里,我得到了key[_aDeviceTokens:protected] => Array.

$array= ApnsPHP_Message Object
    (
        [_bAutoAdjustLongPayload:protected] => 1
        [_aDeviceTokens:protected] => Array
            (
                [0] => BD74940085E1579333E93B7D172CF82F5A3E0B17617D904107CD77573C42CEC9
            )

        [_sText:protected] => test
        [_nBadge:protected] => 1
        [_sSound:protected] => default
        [_sCategory:protected] => 
        [_bContentAvailable:protected] => 
        [_aCustomProperties:protected] => Array
            (
                [channel_id] => 1xxxx8
                [detail_id] => 1
            )

        [_nExpiryValue:protected] => 1500
        [_mCustomIdentifier:protected] => 
         ) 

由于数组具有对象值,因此我试图获取此键的值,例如,

$array->_aDeviceTokens:protected[0]

但这给了我一个错误。

那么如何实现这些数组键的值呢?

标签: phparrays

解决方案


您似乎正在尝试访问您将其视为数组的对象的受保护属性。

看这里的代码:https ://github.com/immobiliare/ApnsPHP/blob/master/ApnsPHP/Message.php

这些属性有可公开访问的“getter”。

ApnsPHP_Message 类的摘录:

public function getCustomIdentifier()
    {
        return $this->_mCustomIdentifier;
    }

因此,不要像以前那样尝试访问这些属性,而是使用相应的 getter。

$custom_identifier = $message->getCustomIdentifier();

推荐阅读