I am not really trying to accomplish anything except understand the language a little better. I am just surprised that the -> operator can be applied to the result of a function, but the [] operator cannot be. But here is a case where you have to use list, which I think is a syntacticly gross:
I would like
$value = mysql_fetch_row(mysql_qyery('SELECT MAX(id) FROM table'))[0];
instead of:
list($value) = mysql_fetch_row(mysql_query('SELECT MAX(id) FROM table'));
I also think it is better to avoid having intermediate values hanging around, because you can't garbage collect with a bunch of intermediate variables lying around in scope.