Actually, at least in PHP, I find myself using arrays and other iterables as pseudo-Options quite a lot; eg. when checking the existence of a DB value, xpath element, etc.
// Using if/then/else
function foo($x) {
$results = look_up_something($x);
if (count($results) > 0) {
$val = $results[0];
return do_something($val);
}
}
// Same as above, but with a foreach loop
function foo($x) {
foreach (look_up_something($x) as $val) {
return do_something($val);
}
}
Of course, the nice thing about Options (other than being able to distinguish between "None", "Some None", "Some (Some None)", etc.) is the availability of combinators to lift and compose non-Option functions with optional functions. Sometimes we can map and fold ("reduce"), but sometimes we can't (eg. PHP's "array_map" doesn't work on iterable objects, which many APIs use in lieu of arrays).