Cytat(JaRoPHP @ 6.01.2008, 18:16:08 )

- teoria bywa inna niż praktyka... Trudno mi się zgodzić. Dobrze zrozumiana teoria naprawdę pomaga

.
Dobrze zrozumiana teoria naprawdę pomaga - Tak, nam znających perfekcyjnie manula i funkcje w php ,
i siedzących w tym od dawna,bo potrafimy wyodrębnić z niej [teorii] interesujące nas informacje.
Lecz dla kogoś kto stawia pierwsze kroki w PHP nawet teoretycznie proste do wykonania skrypty - spędzają czasami w praktyce sen z powiek młodemu programiście
------------ edit ----------------------
A chcąc udowodnić że mam rację z tym
'Mój zwraca ARRAY, a Twój String', chodzi o to:
Kod
<?php
$tablica_do_losowania = array("1", "2", "3", "4", "5","6","7","8","9","10");
function ReallyRandomArray($input)
{srand((float) microtime() * 10000000);
$rand_keys = array_rand($input, count($input));
$res = array();
if(count($input) > 1){
for($a=0;$a<count($input);$a++)
{ $res[] = $input[$rand_keys[$a]];
// pętla for przypisuje tutaj element do tablicy
// tablica[element] = liczba_do_losowania[$a]
} }
else{ $res[] = $input[$rand_keys];
}return $res;
// funkcja ReallyRandomArray(); zwraca Array
}
function marcio($liczby){
shuffle($liczby);
$ile_liczb = count($liczby);
for($tab = 0; $tab <= $ile_liczb; $tab++)
{
//echo($liczby[$tab]);
// echo zamieniamy na $wynik - funkcja marcio(); zwraca String
$wynik .= ($liczby[$tab]);
// gdyby zamienić na $wynik[] = $liczby[$tab];
// wtedy funkcja marcio); zwróci Array
}
return $wynik; // funkcja marcio(); zwraca String
}
//++++++ SPRAWDZENIE +++++++//
echo "Crazyprogrammer ReallyRandomArray(); - is Array?: ".is_array(ReallyRandomArray($tablica_do_losowania));
echo"<pre>";
print_r(ReallyRandomArray($tablica_do_losowania));// print_r wyświetla tablice
echo "</pre>";
echo "<br>";
echo "marcio - marcio(); - is String?: ".is_string(marcio($tablica_do_losowania));
echo"<pre>";
print_r(marcio($tablica_do_losowania)); // print_r wyświetla string
echo "</pre>";
?>
Po 'odpaleniu' powyższegu przykładu na serwerze, staje się jasne że miałem rację,
Cytuję:
Cytat(JaroPHP)
Piszesz, że masz na myśli całościowy kod - w takim razie, obydwa zwracają Stringa - Ty używasz print_r, @marcio echo.
Racja, Ty napisałeś funkcję, która zwraca Array, lecz @marcio użył funkcji shuffle, której wynikiem jest również Array.
W powyższym przykładzie wyniki funkcji ReallyRandomArray(); oraz marcio(); są wyświetlane za pomocą print_r,
U mnie [ funkcja ReallyRandomArray(); ] wynikiem jest Array a u @marcio String - zgodnie z założeniem.
Funkcja print_r została użyta jedynie ,aby tylko wyświetlić wartości wyrażenia.
dodatkowo w kodzie użyto is_string(); oraz is_array(); by potwierdzić moją rację.

Cytat(JaroPHP)
Cytat(crazyprogrammer)
Cytat Natomiast kod @marcio używa funkcji shuffle i zwraca String - co też napisałem!
Tak napisałeś, ale tutaj @CrazyProgrammer jesteś w błędzie.
Nie jestem w błędzie - wyjaśniam STEP BY STEP
Natomiast kod @marcio używa funkcji shuffle i zwraca String - co też napisałem!Inaczej mówiąc: Skrypt @marcio
tylko używa funkcji shuffle, a efektem końcowym [skryptu/kodu, a nie funkcji shuffle! ] jest wynik w postaci String i to miałem na myśli - ale można różnie zinterpretować tekst, dziwne bo przecież pisze wyraźnie cyt.
Natomiast kod @marcio używa funkcji ...A po co wymyślać koło na nowo ?
Żeby pokazać że można rozwiązać zagadnienie na wiele sposobów.
Pozdrawiam
Pozdrawiam.