Sekce chemie
Elektrotechnika

PHP Novinky Aktuality Odkazy Odkazy email Anketa Kniha navstev

Mapa webu

Valid HTML 4.01!
Valid CSS!

© by Hugo

Výběr náhodné položky ze souboru II

Nedávno mi přišel mail s dotazem, jak předělat skript Náhodný výběr položky ze souboru, tak aby se zobrazovali tři čísla z textového souboru.

Příklad souboru použitého jako vstup pro tento skript:

25
45
26
36
789
1025
12
256
124
12588
3658
2548
2563
8745

Vlastní skript je velmi jednoduchý:

<?php
// DEFINICE POCTU CISEL, KTERE SE MAJI VYBRAT
$Pocet_Cisel 3;

// NACTENI SOUBORU DO POLE PO RADCICH
$fp FOpen ('cisla.txt''r');
while (!
FEof ($fp))
{
  
$radek[] = FGetS ($fp9000);
}
FClose ($fp);

// OSETRENI STAVU, KDY JE POCET RADKU MENSI
// NEZ POCET POZADOVANYCH CISEL
if (Count ($radek) < $Pocet_Cisel)
{
    
$Pocet_Cisel Count ($radek);
}

$index = Array();
for (
$i=0$i Pocet_Cisel$i++)
{
  
$cislo Rand (0,(Count($radek)-1));
  if (!
In_Array($cislo$index))
  {
    
$index[$i] = $cislo;
  }
  else 
$i--;
}

foreach (
$index AS $v)
{
  print 
$radek[$v].'<br>';
}
?>

Nejprve musíme načíst obsah souboru po řádcích do pole $cislo. Potom vygenerujeme určený počet náhodných čísel a uložíme je do pole $index. Pokud je počet čísel v souboru menší než požadovaný počet náhodných čísel, tak ho musíme patřičně zmenšit. Jinak nám vznikne nekonečný cyklus. Pomocí funkce In_Array() kontrolujeme, jestli není vybrané číslo již uloženo v poli. Nakonec vytiskneme řádky s odpovídajícím číslem.


Seznam použitých funkcí

FClose, FEof, FGetS, FOpen, Print, Rand

Odkazy

Náhodný výběr ze souboru
Náhodný výběr položky z databáze


LICENCE

Všechny skripty na tomto webu jsou poskytovány, pokud není uvedeno jinak, bez jakýchkoliv licenčních požadavků a také bez záruk.

FORMÁT PRO TISK     Zpět

Poslední změna: 06.11. 2005 14:54

Líbí se Vám tento článek?