- FreeCoders http://www.freecoders.pun.pl/index.php - PHP+MySQL http://www.freecoders.pun.pl/viewforum.php?id=20 - PHP dla znających C/C++ http://www.freecoders.pun.pl/viewtopic.php?id=15 |
Razi - 2008-06-28 14:14:56 |
1. różnice Kod:$zmienna=2; //$zmienna jest typu liczbowego $zmienna=3.14; //$zmienna jest typu zmiennoprzecinkowego $zmienna="kurs php"; //$zmienna jest typu string (ciąg znaków) $zmienna='kurs php'; //j.w. $zmienna=true; //$zmienna jest typu boolean (logiczny, true, albo false) Zmienne mogą być nadpisywane na siebie z innym typem, stara zmienna jest wymazywana. Kod:$zmienna=array("1", "2", "3"); $zmienna=array( 'pierwszy' => "1", 'drugi' => "2", 'trzeci' => "3" ); ilość komórek, jakie posiada tablica można pobrać za pomocą funkcji count (np. count($zmienna)). Zwróci niezależnie, czy są one numerowane, czy nazywane. Kod:$liczba=1; $text="kurs php"; echo "kurs php, część 1"; //zwróci tekst: kurs php, część 1 echo "$text, część $liczba"; //zwróci tekst: kurs php, część 1 echo '$text, część $liczba'; //zwróci tekst: $text, część $liczba Jak zauważyłeś, Jeśli używasz " to wewnątrz możesz normalnie pisać nazwy zmiennych zaróno tekstowych jak i liczbowych, a one zostaną podmienione na ich wartość. Gdy używasz ', Napisze normalnie $zmienna, nie wypisze jej wartości. Kolejne przykłady: Kod:echo $text.', część '.$liczba; //wypisze: kurs php, część 1 echo $text.", część ".$liczba; //wypisze: kurs php, część 1 Kropka łączy stringi. Kod:echo 'funckja round(0.4535, 1) zwraca'.round(0.4535, 1.'.'; Jeżeli np. używasz cudzysłowia ", i chcesz aby wypisał ten znak, a nie zakończył, to użyj \". Wtedy serwer potraktuje to jako zwykły jeden znak ". Kod:foreach($zmienna as $liczba){ echo "$liczba | "; } foreach($zmienna as $slowo => $liczba){ echo "$liczba - $slowo<br>"; } łatwo się domyślić, że pętla ta przelatuje przez wszystkie komórki pobierając wartość i wsadzając ją do podanej zmiennej za słowie kluczowym "as". Kod:function abs($liczba){ if($liczba>0) return $liczba; return -$liczba; } Powyższa funkcja zwraca wartość bezwzględną bez względu na to, czy dostanie integera, czy zmiennoprzecinkową. Może mieć problemy z tekstem:) Kod:$a=true; if($a) echo "a is true<br>"; $b0=0; if($b0) echo "b0 is true<br>"; $b1=1; if($b1) echo "b1 is true<br>"; $c0=""; if($c0) echo "c0 is true<br>"; $c1="0"; if($c1) echo "c1 is true<br>"; $c2="d"; if($c2) echo "c2 is true<br>"; zwróci:
Czyli true są: Boolean o wartośći true, integer różny od zera, nie pusty string, którego pierwszym znakiem nie jest 0. Kod:function last($array){ return $array[count($array)1]; } zwraca ostatni element tablicy |