ja schon...quasi so:
for($i = 0; $i < 6; in_array($a=rand(1,49),!is_array($b) ? $b = array() : $b) ? --$i : $b[$i++] = $a);
print_r($b)
aber der ist ein Tick länger
ausserdem unsauberer und schlechter zu lösen, damit hab ich aber unseren lehrer gebashed
Das ganze war heute ein Coding Wettbewerb von unserem Lehrer, wer das ganze am kürzesten hinkriegt
und das war das kürzeste....nun hab ich aber was besseres....aber unter 48 Zeichen komm ich nicht....
edit: ausserdem ist das kein einzeiler, wobei man sicher das print noch in die for schleife mitreinschreiben kann
edit: es gäbe noch diese Variante:
echo join(',',array_rand(array_flip(range(1,49)),6));
aber auch diese ist um ein paar Zeichen länger
wegen dem dummen range
edit: grad getestet auch 48 Zeichen....das kann doch nicht sein..diese verteufelte Zahl