Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
<form method="POST">
<input type="text" name="number" value="<?php echo isset($_POST['number']) ? $_POST['number'] : ''; ?>"/>
<input type="submit">
</form>
<?php
DEFINE("MIN", 1);
DEFINE("MAX", 999);
DEFINE("AMOUNT", 40000);
if(isset($_POST['number'])){
$no = $_POST['number'];
if(!is_numeric($no)) throw new Exception ("Dezimalzahlen sollten schon nummerisch sein...");
if($no<MIN || $no>MAX) throw new Exception ("Number must be greater than ".MIN." and smaller than ".MAX);
$sqrt = sqrt(AMOUNT);
echo $sqrt;
if($sqrt != (int)$sqrt) throw new Exception("Amount must be a square number");
for($i = 0; $i < AMOUNT; $rand[$i/$sqrt][$i%$sqrt] = rand(MIN,MAX), $i++);
shuffle($rand);
$f=false;
$rv = "<table>";
for($i = 0, $j = AMOUNT/$sqrt; $i < $j; $i++){
$f = (in_array($no, $rand[$i])) ? true : $f;
$rv.= "<tr>";
for($k = 0, $l = AMOUNT/$sqrt; $k < $l; $rv.="<td ". (($rand[$i][$k] == $no) ? 'style="background:#0f0"' : '') .">".$rand[$i][$k]." </td>", $k++);
$rv.= "</tr>";
}
echo (!$f) ? 'Number not found' : '';
echo $rv."<table>";
}
?>
Hallo,
ich glaube es ist wohl eher gemeint, das auch die Ausgabe zweidimensional ist.
Also eher eine 10x10 Matrix.
Ich nehme an, dass du das auf diesen Post hinaus willst. Das war eher copy&paste und kein helfen.[...] da ich auch anderen Helfe [...]
class RandomIntegerMatrix {
private $_min = 0;
private $_max = 0;
private $_matrixX = 0;
private $_matrixY = 0;
private $_matrix = array();
public function __construct($matrixX=10,$matrixY=10,$min=1,$max=999) {
$this->_min=(int)$min;
$this->_max=(int)$max;
$this->_matrixX=(int)$matrixX;
$this->_matrixY=(int)$matrixY;
for($y=0;$y<$this->_matrixY;$y++) {
if (!isset($this->_matrix[$y]) || !is_array($this->_matrix[$y])) $this->_matrix[$y]=(array)null;
for($x=0;$x<$this->_matrixX;$x++)
$this->_matrix[$y][$x] = rand($this->_min, $this->_max);
}
}
public function getMatrix($number){
$nr = (int)$number;
if ($nr<$this->_min || $nr>$this->_max) return 'Bitte gib eine Nummer zwischen '.$this->_min.' und '.$this->_max.' ein.';
$intFound = false;
$html = '<table align="center" cellspacing="0" cellpadding="7" border="1" style="border-collapse:collapse;text-align:right"><thead><tr><th colspan="'.$this->_matrixX.'" style="text-align:center">Suche nach: '.$nr .'</th></tr></thead><tbody>';
foreach($this->_matrix as $tr) :
$html .= '<tr>';
foreach($tr as $td) :
$html .= '<td>';
if ($nr==$td) {
$html .= '<span style="color:green">'.$td.'</span>';
$intFound = true;
} else $html .= $td;
$html .= '</td>';
endforeach;
$html .= '</tr>';
endforeach;
$html .= '</tbody>';
if (!$intFound) $html .= '<tfoot><tr><th colspan="'.$this->_matrixX.'" style="text-align:center">Die Zahl wurde nicht gefunden.</th></tr></tfoot>';
$html .= '</table>';
return $html;
}
public function getForm(){
return '<form method="post" action=""><input type="text" name="number" /><input type="submit"></form>';
}
}
$matrix = new RandomIntegerMatrix();
echo $matrix->getForm();
echo $matrix->getMatrix($_POST['number']);