我一直在玩與SimpleDB集成移動應用程序,並且在測試選擇響應爲空時遇到問題。我並不是一個OO PHP程序員,並且通過代碼看起來很困惑。在Amazon SimpleDB中測試空結果集PHP SDK
下面是相關的代碼來獲取所有的項目,我需要:
foreach ($duuids as $duuid) {
$results = null;
$select_expression = "SELECT * FROM `thestore` WHERE thing IS NOT NULL AND duuid='" . $duuid . "' ORDER BY thing DESC LIMIT 100";
$next_token = null;
do {
if ($next_token)
{
$results = $sdb->select($select_expression, array(
'NextToken' => $next_token,
));
}
else
{
$results = $sdb->select($select_expression);
}
foreach ($results->body->Item() as $item) {
array_push($items, $item);
}
$next_token = isset($results->body->SelectResult->NextToken)
? (string) $results->body->SelectResult->NextToken
: null;
}
while ($next_token);
}
我的問題是,有時候沒有一個duuid還上傳過任何數據,所以結果集爲空,打破了「 foreach($ results-> body-> Item()as $ item)「在那裏。
根據SDK Docs,select()返回一個CFResponse,其中$ results-> body是一個SimpleXML文檔。我已經嘗試了一些方法來計算SimpleXML文檔中的子對象,如「$ results-> body-> SelectResult-> count()」,但似乎沒有工作。
問題:
什麼是測試此結果的空白的適當方法?
工作。謝謝,費米。 – Stateful