0

foreachループを含む多次元配列があります。これは15個のうち9個の値のみをランダムな順序で表示します
//配列値

$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

4 に答える 4

0

array_slice を使用して、シャッフルされた配列から最初の 9 つの値を選択します。

$sponsors = array_slice($sponsors, 0, 9);

foreach($sponsors as $company)
{
    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>
      ';
}
于 2012-07-30T10:40:05.837 に答える
0

array_sliceまたは_array_splice

: どちらの機能にもわずかな違いがあります。マニュアルを見て、必要に応じて選択してください。

ベスト・オブ・ラック

于 2012-07-30T10:41:34.217 に答える