标签: stdclass

PHP JSON解码 - stdClass

我有一个关于制作2D JSON字符串的问题

现在我想知道为什么我无法访问以下内容:

$json_str = '{"urls":["http://example.com/001.jpg","http://example.com/003.jpg","http://example.com/002.jpg"],"alts":["testing int chars àèéìòóù stop","second description",""],"favs":["true", "false", "false"]}';

$j_string_decoded = json_decode($json_str);
// echo print_r($j_string_decoded); // OK

// test get url from second item
echo j_string_decoded['urls'][1];
// Fatal error: Cannot use object of type stdClass as array
Run Code Online (Sandbox Code Playgroud)

php json stdclass

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

如何访问PHP中以@开头的stdClass成员

我有一些我解码的json对象,其中一个属性以"@"开头,我无法使用php访问该元素,因为它会抛出错误.

                    [offers] => stdClass Object
                    (
                        [@attributes] => stdClass Object
                            (
                                [id] => levaka0B8a
                            )
                    )
Run Code Online (Sandbox Code Playgroud)

我将如何访问属性?

php arrays json stdclass

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

访问stdClass对象中的属性

stdClass Object
(
[ModuleAccountInfo] => Array
    (
        [0] => stdClass Object
            (
                [ServerName] => EAST
                [HostingModule] => ActiveDirectory
                [ActiveDirectorySiteName] => EAST
                [AccountIdentity] => OU=ndla,OU=Hosting,DC=east,DC=domain,DC=local
                [Groups] => 2
                [Users] => 15
            )

        [1] => stdClass Object
            (
                [ServerName] => EAST.net
                [HostingModule] => hange
                [DiskQuota] => 375000
                [DiskQuotaAdditional] => 0
                [DateQuotaExceeded] => 0001-01-01T00:00:00
                [DiskSpace] => 58567
                [MailboxesDiskSpace] => 59973051
                [PublicFoldersDiskSpace] => 0
                [MessageArchivingDiskSpace] => 0
                [Contacts] => 8
                [Mailboxes] => 15
Run Code Online (Sandbox Code Playgroud)

如何访问ServerName属性?该对象保存在$ modules变量中.以上是$ modules的print_r.

php arrays object stdclass

10
推荐指数
1
解决办法
8587
查看次数

php将stdClass对象转换为数组

任何人都可以解释为什么我可以让这个工作.
我想查询一个数组,看看USER->id当前登录的是否分配了一个特定的角色:

$contextroles = get_records_sql("SELECT userid FROM {$CFG->prefix}role_assignments WHERE contextid = 23 AND roleid = 3");

function object2array($object) {
    if (is_object($object)) {
        foreach ($object as $key => $value) {
            $array[$key] = $value;
        }
    }
    else {
        $array = $object;
    }
    return $array;
}

$alloweduser = object2array($contextroles);

if (in_array($USER->id, $alloweduser)) {
    echo'Your in<br />';
    echo $USER->id.'<br />';
    print_r($alloweduser);
}
else{
    echo'<br />You do not have permission to acces this database.<br />';
    echo $USER->id.'<br />';
    print_r($alloweduser);
    exit;
}
Run Code Online (Sandbox Code Playgroud)

我目前得到这个输出:

您无权访问此数据库. …

php arrays object stdclass

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

PHP数组的stdClass,如何获取数据?

我想打印[name]的值.我只是熟悉标准定义的类以及如何调用它们.

基于这个例子和逻辑

$arrayobj = new ArrayObject(array('first','second','third'));
print_r($arrayobj);
//outputs: ArrayObject Object ( [0] => first [1] => second [2] => third )
Run Code Online (Sandbox Code Playgroud)

接着就,随即.我试图从这里提取名称(Pebbles)的值.

print_r($terms);
/* outputs
Array ( [3] => stdClass Object ( [term_id] => 3 [name] => Pebbles ) )
*/
Run Code Online (Sandbox Code Playgroud)

所以我试过了

echo $terms[0]->name;
Run Code Online (Sandbox Code Playgroud)

有花生.我该怎么做呢?

php arrays stdclass

7
推荐指数
1
解决办法
6921
查看次数

如何制作具有相同名称的PHP stdClass对象?

我正在反对一个API,它给我一个stdClass对象,看起来像这样(实际数据被替换)

"data": [
    {
      "type": "image",
      "comments": {
        "data": [
          {
            "created_time": "1346054211",
            "text": "Omg haha that's a lot of squats",
            "from": {},
            "id": "267044541287419185"
          },
          {
            "created_time": "1346054328",
            "text": "Fit body",
            "from": {},
            "id": "267045517536841021"
          },
        ]
      },
      "created_time": "1346049912",
    },
Run Code Online (Sandbox Code Playgroud)

如何创建像"注释"这样的stdClass对象,它具有多个具有相同名称但数据不同的子字段.当我尝试创建一个看起来像这样的stdClass时,我的Comments部分将只包含1个输入,这是while循环中的最后一个输入.因此,不是应用于底部,而是用新的数据替换旧数据.如何解决这个问题?

php object stdclass

7
推荐指数
1
解决办法
8853
查看次数

stdClass vs array.推荐哪个?

建议在哪里使用其中一个?我想存储db中列出的文章中的数据.

这是一个简单的问题:

echo $Datastore->name; //I like it works with foreach

//vs

echo $Datastore['name'];
Run Code Online (Sandbox Code Playgroud)

哪个最好?获取元素的速度stdClassarray速度有什么区别吗?

php mysql arrays stdclass

7
推荐指数
1
解决办法
6319
查看次数

如何实例化stdClass

是不是可以在PHP中这样做?

Javascript代码:

var a = {name: "john", age: 13}; //a.name = "john"; a.age = 13
Run Code Online (Sandbox Code Playgroud)

动态实例化stdClass变量?

javascript php stdclass code-snippets

6
推荐指数
2
解决办法
2308
查看次数

带有<stdClass>标记的SOAP请求

这是我第一次发帖,如果我不是很清楚,请原谅我.我还将通过说明我对PHP和Web服务知之甚少来作为序言.

我遇到的问题是:

SOAP请求由外部源(客户端)生成,然后发送到我的php SOAP服务器.当服务器收到请求时,它根本就不正确.数据包嗅探器显示请求在到达运行php服务器的计算机时看起来正确.但是,出于某种原因,只要soap服务器收到请求,它就会搞砸了.

真正奇怪的是,仅在一周前,这段代码运行良好.自那时以来没有任何变化.这已在3台不同的机器上尝试过,其中一台机器运行不同版本的php(并处于不同的状态!).其中一台机器在经过一些成功的测试后不久就关闭了,然后在这个问题出现之后立即打开了.

以下是客户端发送的请求示例:

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <soap:Body>
        <CoverageRequest xmlns="http://www.iicmva.com/CoverageVerification/">
            <RequestorInformation>
                <Organization>
                    <Name>NVDMV</Name>
                </Organization>
                <ReasonDetails>
                    <ReasonCode>BI</ReasonCode>
                    <TrackingNumber>NVDMV-2011-05-12 10:36:52:286678</TrackingNumber>
                </ReasonDetails>
            </RequestorInformation>
            <Detail>
                <PolicyInformation>
                    <OrganizationDetails>
                        <NAIC>26654</NAIC>
                    </OrganizationDetails>
                    <PolicyDetails>
                        <VerificationDate>2011-05 12T00:00:00</VerificationDate>
                        <UniqueKey>1234567890123456789</UniqueKey>
                        <PolicyState>NV</PolicyState>
                    </PolicyDetails>
                </PolicyInformation>
                <InsuredInformation>
                    <PrimaryNameInformation>
                        <ParsedName>
                            <GivenName>FIRSTNAME</GivenName>
                            <Surname>LASTNAME</Surname>
                        </ParsedName>
                        <Name>LASTNAME,FIRSTNAME</Name>
                        <DriversLicense>NOLICENSE</DriversLicense>
                        <FEIN>FEIN</FEIN>
                    </PrimaryNameInformation>
                    <Address>
                        <StreetAddress>12345</StreetAddress>
                    </Address>
                </InsuredInformation>
                <VehicleInformation>
                    <VehicleDetails>
                        <VIN>VIN1234567</VIN>
                        <Make>MAKE</Make>
                        <Model>MODEL</Model>
                        <Year>2000</Year>
                    </VehicleDetails>
                </VehicleInformation>
            </Detail>
        </CoverageRequest>
    </soap:Body>
</soap:Envelope>
Run Code Online (Sandbox Code Playgroud)

以下是soap服务器获取的示例:

<?xml version="1.0" encoding="UTF-8"?><CoverageRequest><stdClass>
    <Individual>
        <ParsedName>
            <Prefix />
            <GivenName />
            <MiddleName />
            <Surname />
            <Suffix /> …
Run Code Online (Sandbox Code Playgroud)

php soap wsdl stdclass

6
推荐指数
1
解决办法
2042
查看次数

为什么我不能在stdClass上调用property_exists?

这是我的代码:

<?php

$madeUpObject = new \stdClass();
$madeUpObject->madeUpProperty = "abc";

echo $madeUpObject->madeUpProperty;
echo "<br />";

if (property_exists('stdClass', 'madeUpProperty')) {
    echo "exists";
} else {
    echo "does not exist";
}
?>
Run Code Online (Sandbox Code Playgroud)

输出是:

abc不存在

那为什么这不起作用?

php field object stdclass

6
推荐指数
2
解决办法
2892
查看次数

标签 统计

php ×10

stdclass ×10

arrays ×5

object ×4

json ×2

code-snippets ×1

field ×1

javascript ×1

mysql ×1

soap ×1

wsdl ×1