サーバー関数にパラメーターを渡すjavascriptクライアントがあります(ExtJS Directを使用しています)。クライアントが単一のオブジェクトを送信する場合もあれば、オブジェクトの配列を送信する場合もあります。
現在、この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,
);
}
同じことを行うことができるトリック、きちんとした方法、1つのラインはありますか?
編集:この質問を投稿してから、ExtJSには配列にラップされたすべてのレコードを送信するオプションがあることがわかりました。