标签: stdclass

如何附加stdClass对象

我有像joomla一样生成的stdClass对象

$db->setQuery($sql);
$schoollist = $db->loadObjectList(); 
Run Code Online (Sandbox Code Playgroud)

$ schoollist变量包含以下stdClass对象

stdClass Object ( [id] => 1 [col1] => blabla [col2] => 5 [col3] => 208 ) 
stdClass Object ( [id] => 2 [col1] => test1 [col2] => 1 [col3] => 52 ) 
Run Code Online (Sandbox Code Playgroud)

我需要在查询后添加另一个"列"作为[col4] => dsdads,所以结果将是这样的

stdClass Object ( [id] => 1 [col1] => blabla [col2] => 5 [col3] => 208 [col4] => 208) 
stdClass Object ( [id] => 2 [col1] => test1 [col2] => 1 [col3] => 52 [col4] => 208) 
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

php stdclass

19
推荐指数
2
解决办法
3万
查看次数

在PHP中设置stdClass对象的命名空间

有人会碰巧知道是否可以在用户定义的stdClass对象上设置命名空间.

我想要做的是以getter方法的形式返回类的所有私有属性作为对象.

我找到了一个可能的解决方案,我可以做这样的事情;

public function getDataItems() {
  $dataObj = new stdClass;
  $dataObj->image_id   = $this->image_id;
  $dataObj->image_name = $this->image_name;
  $dataObj->name       = $this->name;
  $dataObj->email      = $this->email;
  $dataObj->company    = $this->company;

  return $dataObj;
}
Run Code Online (Sandbox Code Playgroud)

我唯一的问题是这个函数所在的类是使用命名空间,因此我需要以某种方式为这个$ dataObj对象分配相同的命名空间.

有谁知道我怎么做这个或者甚至可能吗?

php namespaces object stdclass

18
推荐指数
1
解决办法
2万
查看次数

从另一个对象向stdClass对象添加属性

我希望能够做到以下几点:

$obj = new stdClass;
$obj->status = "success";

$obj2 = new stdClass;
$obj2->message = "OK";
Run Code Online (Sandbox Code Playgroud)

如何扩展$ obj以使其包含$ obj2的属性,例如:

$obj->status //"success"

$obj->message // "OK"
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用数组,将所有属性添加到数组然后将其转换回对象,但有更优雅的方式,如下所示:

extend($ obj,$ obj2); //将$ obj2中的所有属性添加到$ obj

谢谢!

php properties object extend stdclass

17
推荐指数
3
解决办法
5万
查看次数

如何在stdClass对象数组上使用implode?

我有一个stdClass对象数组,我想使用所有这些stdClass对象的一个特定字段构建一个逗号分隔列表.我的数组看起来像这样:

$obj1 = stdClass Object ( [foo] => 4 [bar] => 8 [foo-bar] => 15 );
$obj1 = stdClass Object ( [foo] => 16 [bar] => 23 [foo-bar] => 42 );
$obj1 = stdClass Object ( [foo] => 76 [bar] => 79 [foo-bar] => 83 );

$a = array(1=>$obj1 , 2=>$obj2 , 3=>$obj3);
Run Code Online (Sandbox Code Playgroud)

我想破坏该数组中foo的所有stdClass对象以创建逗号分隔列表.所以期望的结果是:

4,16,76
Run Code Online (Sandbox Code Playgroud)

有没有办法用implode(或其他一些神秘函数)做到这一点,而不必通过循环放置这个对象数组?

php csv arrays stdclass implode

17
推荐指数
5
解决办法
2万
查看次数

stdClass对象和foreach循环

我使用以下代码从使用Soap的网站获取数据.

$client = new SoapClient('http://some.url.here');
class SMSParam {
    public $CellNumber;
    public $AccountKey;
    public $MessageCount;
    public $MessageBody;
    public $Reference;

}
$parameters = new SMSParam;
$parameters -> AccountKey = "$sms_key";
$parameters -> MessageCount = "25";
$Result = $client->GetIncomingMessages($parameters);
echo "<pre>";
print_r($Result);
echo "</pre>";
Run Code Online (Sandbox Code Playgroud)

以下是输出示例:

stdClass Object
(
    [GetIncomingMessagesResult] => stdClass Object
        (
            [SMSIncomingMessage] => Array
                (
                    [0] => stdClass Object
                        (
                            [OutgoingMessageID] => data
                            [Reference] => data
                            [MessageNumber] => data
                            [PhoneNumber] => data
                            [Message] => data
                            [ReceivedDate] => data
                        )

                    [1] => …
Run Code Online (Sandbox Code Playgroud)

php foreach object stdclass

16
推荐指数
1
解决办法
8万
查看次数

在php中的std对象中添加方法

是否可以以这种方式添加方法/功能,例如

$arr = array(
    "nid"=> 20,
    "title" => "Something",
    "value" => "Something else",
    "my_method" => function($arg){....}
);
Run Code Online (Sandbox Code Playgroud)

或者像这样

$node = (object) $arr;
$node->my_method=function($arg){...};
Run Code Online (Sandbox Code Playgroud)

如果有可能那么我该如何使用该功能/方法?

php object stdclass

16
推荐指数
3
解决办法
2万
查看次数

如何在特定键值对后访问stdclass对象?

我有一个stdclass对象,如下所示:

stdClass Object
(     
    [text] => Parent
    [values] => Array
        (
            [0] => stdClass Object
                (
                    [id] => /m/0c02911
                    [text] => Laurence W. Lane Jr.
                    [url] => http://www.freebase.com/view/m/0c02911
                )

        )

)
Run Code Online (Sandbox Code Playgroud)

我迭代了多个这样的对象,其中一些有

stdClass Object
(
    [text] => Named after
    [values] => Array
        (
            [0] => stdClass Object
                (
                    [id] => /m/0c02911
                    [text] => Stanford
                    [url] => SomeURL
                )

        )

)
Run Code Online (Sandbox Code Playgroud)

我想知道如果它出现在"父"作为其值的"文本"之后我将如何访问"值"对象?

php arrays json curl stdclass

15
推荐指数
2
解决办法
5万
查看次数

PHP StdClass - 访问字段为 - >字段或 - > {'field'}

我正在研究这个PHP代码协作,似乎有些人会像这样访问PHP StdClass字段

$body->head
Run Code Online (Sandbox Code Playgroud)

和其他人一样

$body->{'head'}
Run Code Online (Sandbox Code Playgroud)

据我所知,这些是等价的.是吗?使用哪个是否重要?你更喜欢哪种方式?有什么怪癖要注意吗?

php field stdclass

14
推荐指数
1
解决办法
8042
查看次数

在PHP中迭代stdClass对象

我有一个像这样的对象:

stdClass Object
(
    [_count] => 10
    [_start] => 0
    [_total] => 37
    [values] => Array
        (
            [0] => stdClass Object
                (
                    [_key] => 50180
                    [group] => stdClass Object
                        (
                            [id] => 50180
                            [name] => CriticalChain
                        )

                )

            [1] => stdClass Object
                (
                    [_key] => 2357895
                    [group] => stdClass Object
                        (
                            [id] => 2357895
                            [name] => Data Modeling
                        )

                )

            [2] => stdClass Object
                (
                    [_key] => 1992105
                    [group] => stdClass Object
                        (
                            [id] => 1992105
                            [name] => SQL Server …
Run Code Online (Sandbox Code Playgroud)

php arrays json stdclass

14
推荐指数
3
解决办法
3万
查看次数

PHP数组stdClass对象 - 回声值

所以我将这个数组保存在变量标题中$arr.我想抓住或回应[slug]的价值

Array ( [0] => stdClass Object ( [term_id] => 11 
                                 [name] => Community Service 
                                 [slug] => community-service 
                                 [term_group] => 0 
                                 [term_taxonomy_id] => 11 
                                 [taxonomy] => category
Run Code Online (Sandbox Code Playgroud)

所以我想要这样的东西

echo $ arr [slug]

然后显示"社区服务".我确信这很容易,但我无法弄清楚如何从数组stdClass中获取值并在页面上回显它.谢谢.

php arrays stdclass

13
推荐指数
2
解决办法
4万
查看次数

标签 统计

php ×10

stdclass ×10

arrays ×4

object ×4

json ×2

csv ×1

curl ×1

extend ×1

field ×1

foreach ×1

implode ×1

namespaces ×1

properties ×1