我有一個JavaScript客戶端將參數傳遞給服務器功能(我正在使用ExtJS Direct)。有時客戶端發送一個對象,有時它會發送一個對象數組。確保PHP變量的最佳方式是一個數組
目前我使用這個EnsureArray功能,保證參數是一個數組,然後我做foreach
:
// Wraps a non array variable with an array.
function EnsureArray(&$aVar)
{
if (!is_array($aVar))
$var = array($aVar);
}
function Destroy($aRecords)
{
// $aRecords might be a single object or an array of objects. Ensure it's wrapped as an array.
$this->EnsureArray($aRecords);
foreach ($aRecords as $aRecord)
{
sql("UPDATE Groups SET deleted = true WHERE id = $aRecord->id LIMIT 1");
}
return array(
'success' => true,
);
}
有沒有竅門,更合適的方法,一條線是可以這樣做?
編輯:自發布此問題後,我發現ExtJS有an option發送包裝在數組中的所有記錄。
最好的方法是什麼標準化的客戶端應該發送... :) – deceze
我與此完全一致。 – Izhaki
並考慮修復sql注入 – Venu