-1

我有这个字符串

array(8) {
    [2]=> object(stdClass)#871 (2) {
        ["access"]=> int(0)
        ["value"]=> string(4) "Male"
    }
    [3]=> object(stdClass)#872 (2) {
        ["access"]=> int(0)
        ["value"]=> string(2) "21"
    }
    [4]=> object(stdClass)#874 (2) {
        ["access"]=> int(0)
        ["value"]=> string(4) "sdad"
    }
    [10]=> object(stdClass)#861 (2) {
        ["access"]=> int(0)
        ["value"]=> string(0) ""
    }
    [11]=> object(stdClass)#873 (2) {
        ["access"]=> int(0)
        ["value"]=> string(11) "fds"
    }
    [17]=> object(stdClass)#875 (2) {
        ["access"]=> int(0)
        ["value"]=> string(11) "aaa"
    }
    [19]=> object(stdClass)#876 (2) {
        ["access"]=> int(0)
        ["value"]=> string(4) "this!!!"
    } [29]=> object(stdClass)#878 (2) {
        ["access"]=> int(0)
        ["value"]=> string(3) "sda"
    }
}

如何获取值为'this!!!'的字符串?我想将那个地方的价值保存到数据库中。

4

1 回答 1

2

首先,让我们弄清楚一件事。你没有字符串。你有一个对象数组。(在 PHP 中)不可能将对象或数组转换为字符串。

如果您需要数组特定索引处的值,请使用$array[$index];.

如果您想要对象的特定属性的值,只需使用$object->attribute;,或者如果您想要函数的返回值,请使用$object->function();

在你的情况下:

为了论证起见,假设您要保存at 10的value属性。那里的值是objectarray index

[10]=> object(stdClass)#861 (2) {
    ["access"]=> int(0)
    ["value"]=> string(0) ""
}

因此,为了访问该value对象属性的字符串值,您可以编写:

$val = $array[10]->value;

或者,如果您想要所有对象的属性的字符串值value,您可以array使用foreach

foreach($array as $obj) {
    $val = $obj->value;
    $access = $obj->access;

    // do something with $val and/or $access
}
于 2012-08-07T12:59:44.327 回答