If you combine yp_first and yp_next you can get the whole list:
function yp_list($domain, $map) {
$entry = yp_first($domain, $map);
$key = $entry ["key"];
$yplist[$key] = $entry ["value"];
while ($entry) {
$entry = yp_next($domain, $map, $key);
if ($entry) {
$nextkey = key ($entry);
$yplist[$nextkey] = $entry[$nextkey];
$key = $nextkey;
}
}
return $yplist;
}