我需要只顯示該字符串的狀態值,但我不知道該怎麼做:如何從php獲取文本?
Web Object (
[data] => stdClass Object (
[operations] => stdClass Object (
[384322232931] => stdClass Object (
[status] => on
)
)
)
[error] =>
)
感謝閱讀
我需要只顯示該字符串的狀態值,但我不知道該怎麼做:如何從php獲取文本?
Web Object (
[data] => stdClass Object (
[operations] => stdClass Object (
[384322232931] => stdClass Object (
[status] => on
)
)
)
[error] =>
)
感謝閱讀
我相信數384322232931
是「隨機」,如果是的話,你必須使用遞歸方法:
function captureStatus($data) {
$obj = (array) $data;
$key = key($obj);
if ($key === 'status') {
return $obj['status'];
} else if ($key !== NULL) {
return captureStatus($obj[$key]);
}
return NULL;
}
如果不是隨機的,使用@Barmar的方法
您的代碼有效,謝謝 – Daniel 2014-11-08 22:10:56
@Daniel請將我的答案標記爲正確,謝謝。 – 2014-11-08 22:18:10
如果對象是在$webobj
,這將是:
$webobj->data->operations->{'384322232931'}->status
當屬性名稱爲數字時,您不能使用正常的屬性語法,您需要大括號和引號,如下所述:How to access object properties with names like integers?
如果這個數字是帳戶ID,你可以這樣做:
$webobj->data->operations->{$account_id}->status
其中$account_id
包含您的帳號。
如果{'384322232931'}是一個隨機數? – Daniel 2014-11-08 22:02:58
這是來自JSON嗎?如果你使用'json_decode($ json,true)',那麼你可能會更容易,所以你得到一個數組而不是一個對象。然後你可以使用'foreach()'遍歷'operations'的所有元素。 – Barmar 2014-11-08 22:04:49
從$ statusResponse = $ api-> status(ACCOUNT_ID_HERE);我從這個php sdk得到這個迴應:https://github.com/ElevenPaths/latch-sdk-php; – Daniel 2014-11-08 22:05:46
它看起來像你想要的財產深深嵌入,所以你可能有的問題是,你需要通過幾個孩子。
嘗試: $ status = $ yourObj-> data-> operations-> 384322232931-> status;
我不知道這是否有幫助。我有點困惑你的意思是「字符串」,因爲你發佈的內容看起來像一個對象的print_r輸出。
如果你想要做的是從字符串中提取這個值,那麼我認爲你可能會做些不可思議的事情。
是的,我發佈的數據是print_r輸出,抱歉,如果我發佈了錯誤的數據。 – Daniel 2014-11-08 22:04:59
$ something- > data-> operations-> 384322232931-> status – Kavvson 2014-11-08 21:58:11