I have a Multidimensional array with foreach loop,which shows only 9 values out of 15 in random order
//Array Values
$sponsors = array(
array('facebook','The biggest social network in the world.','http://www.facebook.com/'),
array('adobe','The leading software developer targeted','http://www.adobe.com/'),
array('microsoft','One of the top software companies','http://www.microsoft.com/'),
array('sony','A global multibillion electronics','http://www.sony.com/'),
array('dell','One of`enter code here` the biggest computer','http://www.dell.com/'),
array('ebay','The biggest online auction and shopping websites.','http://www.ebay.com/'),
array('digg','One of the most popular web 2.0 social networks.','http://www.digg.com/'),
array('google','The company that redefined web search.','http://www.google.com/'),
array('ea','The biggest computer game manufacturer.','http://www.ea.com/'),
array('mysql','The most popular open source database engine.','http://www.mysql.com/'),
array('hp','One of the biggest computer manufacturers.','http://www.hp.com/'),
array('yahoo','The most popular network of social media portals','http://www.yahoo.com/'),
array('cisco','The biggest networking and communications techno','http://www.cisco.com/'),
array('vimeo','A popular video-centric social networking site.','http://www.vimeo.com/'),
array('canon','Imaging and optical technology manu facturer.','http://www.canon.com/'));
//Shuffling the values
shuffle($sponsors);
//To process all values
foreach($sponsors as $company)
{
if(isset($company[0]) && !in_array($company[0],$sponsors))
{//to print only 9 values out of 15
for($j=1; $j<=9; $j++)
{
echo'
<div class="sponsor" title="Click to flip">
<div class="sponsorFlip">
<img src="img/sponsors/'.$company[0].'.png" alt="More about '.$company[0].'" />
</div>
<div class="sponsorData">
<div class="sponsorDescription">'.$company[1].'</div>
<div class="sponsorURL"><a href="'.$company[2].'">'.$company[2].'</a>
</div>
</div>
</div>
';
}
}
}//end of for each
4
Answers
Use array_slice to select the first 9 values from the shuffled array.
array_rand()
is the simplest and neatest way, I feel:Use array_slice to get first 9 elements.
use
array_slice
orarray_splice
Note: Both function have minor difference. so look on manual and choose as per your need.
Best Of Luck