Practice extracting variables
Using method c will have an side-effect if $params is modified. This is because arrays are passed by reference, and so any changes to $params will be visible to the caller when the function returns. Use b if you need to manipulate id or name, unless you intend to return the modifications to the caller.

Example:

$params = array('id' =&gt; 1, 'name' =&gt; 'b');
$this-&gt;d($params);
echo $params['id']; // outputs 2
...

function d($params) {
    $params['id']++;
}