if you need the visibility attribute in the product collection, you must make a connection
looking at the magento product shredding code you can find
$collection->joinAttribute('visibility', 'catalog_product/visibility', 'entity_id', null, 'inner', $store->getId());
so in code you can do
$prodColl = Mage::getModel('catalog/product')->getCollection() ->addAttributeToSelect('name') ->joinAttribute('visibility', 'catalog_product/visibility', 'entity_id', null, 'inner', 1); foreach ($prodColl as $prod) { $v = $prod->getVisibility(); }
source share