Ćwiczenia PHP - Typy Danych

1. Sprawdzenie typu danych

Stwórz skrypt, który przyjmuje zmienną wejściową (np. formularz), a następnie wyświetla typ tej zmiennej oraz jej wartość.

<?php
if ($_SERVER["REQUEST_METHOD"] === "POST" && isset($_POST['data_type'])) {
    $value = $_POST['data_type'];
    echo "Wartość: $value<br>";
    echo "Typ: " . gettype($value);
}
?>
<form method="POST">
    <input type="text" name="data_type" placeholder="Wpisz wartość">
    <button type="submit">Sprawdź typ</button>
</form>
        

2. Rzutowanie typów

Napisz funkcję, która przyjmuje liczbę zmiennoprzecinkową i rzutuje ją na inne typy danych (int, string, boolean).

<?php
function rzutowanie($value) {
    echo "Jako int: " . (int)$value . "<br>";
    echo "Jako string: " . (string)$value . "<br>";
    echo "Jako boolean: " . (bool)$value . "<br>";
}

rzutowanie(45.6);
?>
        

3. Konwersja wartości logicznych

Stwórz formularz, który pozwoli użytkownikowi wprowadzić wartość logiczną (np. true/false), a następnie przekształci ją na liczbę (0 lub 1).

<?php
if ($_SERVER["REQUEST_METHOD"] === "POST" && isset($_POST['bool_value'])) {
    $value = $_POST['bool_value'];
    echo "Wartość logiczna jako int: " . (int)filter_var($value, FILTER_VALIDATE_BOOLEAN) . "<br>";
}
?>
<form method="POST">
    <input type="text" name="bool_value" placeholder="Wpisz true/false">
    <button type="submit">Przekształć</button>
</form>
        

4. Tablice

Stwórz tablicę z różnymi typami danych (liczby, ciągi znaków, wartości logiczne) i wyświetl ją w formacie JSON.

<?php
$arr = [1, "PHP", true, 3.14];
echo "Tablica JSON: " . json_encode($arr);
?>
        

5. Funkcje i typowanie

Stwórz funkcję, która zwraca liczbę całkowitą i wyświetla wynik.

<?php
function zwrocLiczbe(): int {
    return 42;
}

echo "Zwrócona liczba: " . zwrocLiczbe();
?>
        

6. Typowanie argumentów funkcji

Stwórz funkcję, która przyjmuje dwa argumenty typu float i zwraca ich sumę.

<?php
function dodaj(float $a, float $b): float {
    return $a + $b;
}

echo "Suma: " . dodaj(5, 2.5);
?>
        

7. Operacje na obiektach

Stwórz klasę `Osoba`, która będzie miała właściwość `imie` i metodę do wyświetlania tego imienia.

<?php
class Osoba {
    public $imie;
    
    public function __construct($imie) {
        $this->imie = $imie;
    }

    public function pokazImie() {
        echo "Imię: " . $this->imie;
    }
}

$osoba = new Osoba("Jan");
$osoba->pokazImie();
?>
        

8. Konwersja wartości null

Stwórz zmienną o wartości `null` i sprawdź jej typ oraz wartość.

<?php
$zmienna = null;
echo "Typ: " . gettype($zmienna) . "<br>";
echo "Wartość: " . var_export($zmienna, true);
?>
        

9. Konwersja liczb zmiennoprzecinkowych

Przyjmij liczbę zmiennoprzecinkową i zamień ją na liczbę całkowitą.

<?php
$liczba = 5.75;
echo "Liczba zmiennoprzecinkowa: " . $liczba . "<br>";
echo "Po konwersji na int: " . (int)$liczba;
?>
        

10. Sprawdzanie pustej wartości

Sprawdź, czy zmienna jest pusta i wyświetl odpowiedni komunikat.

<?php
$wartosc = "";
echo empty($wartosc) ? "Pusta" : "Niepusta";
?>
        

11. Pętla for

Stwórz pętlę for, która wyświetli liczby od 1 do 10.

<?php
for ($i = 1; $i <= 10; $i++) {
    echo "Liczba: " . $i . "<br>";
}
?>
    

12. Pętla while

Stwórz pętlę while, która będzie wyświetlać liczby od 1 do 5.

<?php
$i = 1;
while ($i <= 5) {
    echo "Liczba: " . $i . "<br>";
    $i++;
}
?>
    

13. Sprawdzanie, czy liczba jest parzysta czy nieparzysta

Przyjmij liczbę i sprawdź, czy jest parzysta, czy nieparzysta.

<?php
$liczba = 7;
if ($liczba % 2 == 0) {
    echo "Liczba $liczba jest parzysta.";
} else {
    echo "Liczba $liczba jest nieparzysta.";
}
?>
    

14. Operacje na tablicach

Stwórz tablicę z 5 liczbami i oblicz ich sumę oraz średnią.

<?php
$tablica = [10, 20, 30, 40, 50];
$suma = array_sum($tablica);
$sr = $suma / count($tablica);
echo "Suma: " . $suma . "<br>";
echo "Średnia: " . $sr;
?>
    

15. Funkcja do obliczania silni

Stwórz funkcję, która obliczy silnię z liczby.

<?php
function silnia($n) {
    if ($n == 0) return 1;
    return $n * silnia($n - 1);
}

echo "Silnia z 5: " . silnia(5);
?>
    

16. Formatyzowanie daty

Stwórz skrypt, który wyświetli dzisiejszą datę w formacie: dd-mm-yyyy.

<?php
echo "Dzisiaj jest: " . date("d-m-Y");
?>
    

17. Użycie funkcji isset() i empty()

Stwórz formularz, który sprawdzi, czy pole zostało wypełnione, używając funkcji isset() oraz empty().

<?php
if ($_SERVER["REQUEST_METHOD"] === "POST" && isset($_POST['wartosc'])) {
    if (empty($_POST['wartosc'])) {
        echo "Pole jest puste.";
    } else {
        echo "Pole nie jest puste.";
    }
}
?>
<form method="POST">
    <input type="text" name="wartosc" placeholder="Wpisz coś">
    <button type="submit">Sprawdź</button>
</form>
    

18. Mieszanie stringów

Stwórz dwie zmienne z tekstami, połącz je w jeden ciąg i wyświetl wynik.

<?php
$tekst1 = "Witaj";
$tekst2 = " na stronie!";
echo $tekst1 . " " . $tekst2;
?>
    

19. Wczytywanie danych z pliku

Przygotuj plik tekstowy i napisz skrypt, który wczyta jego zawartość.

<?php
$filename = "plik.txt";
if (file_exists($filename)) {
    $file = fopen($filename, "r");
    while ($line = fgets($file)) {
        echo $line . "<br>";
    }
    fclose($file);
} else {
    echo "Plik nie istnieje.";
}
?>
    

20. Sprawdzanie istnienia pliku

Sprawdź, czy plik o nazwie `plik.txt` istnieje na serwerze i wyświetl odpowiedni komunikat.

<?php
$filename = "plik.txt";
if (file_exists($filename)) {
    echo "Plik istnieje.";
} else {
    echo "Plik nie istnieje.";
}
?>
    

21. Sprawdzanie, czy liczba jest dodatnia, ujemna czy zerem

Stwórz skrypt, który sprawdzi, czy liczba jest dodatnia, ujemna czy zerem.

<?php
$liczba = -3;
if ($liczba > 0) {
    echo "Liczba $liczba jest dodatnia.";
} elseif ($liczba < 0) {
    echo "Liczba $liczba jest ujemna.";
} else {
    echo "Liczba to zero.";
}
?>
    

22. Zmienna referencyjna

Stwórz zmienne referencyjne i wyświetl ich wartości przed i po zmianie.

<?php
$a = 10;
$b = &$a; // Zmienna referencyjna
echo "a: $a, b: $b<br>";

$a = 20;
echo "Po zmianie:<br>a: $a, b: $b"; 
?>
    

23. Operatory porównania

Stwórz skrypt, który porówna dwie liczby i wyświetli odpowiedni komunikat.

<?php
$a = 5;
$b = 10;

if ($a == $b) {
    echo "Liczby są równe.";
} elseif ($a < $b) {
    echo "$a jest mniejsze od $b.";
} else {
    echo "$a jest większe od $b.";
}
?>
    

24. Funkcja do obliczania pierwiastka kwadratowego

Stwórz funkcję, która obliczy pierwiastek kwadratowy z liczby.

<?php
function pierwiastek($x) {
    return sqrt($x);
}
echo "Pierwiastek kwadratowy z 25: " . pierwiastek(25);
?>
    

25. Sprawdzanie długości łańcucha

Sprawdź długość łańcucha tekstowego za pomocą funkcji `strlen()`.

<?php
$tekst = "Hello, world!";
echo "Długość tekstu: " . strlen($tekst);
?>
    

26. Sprawdzanie, czy zmienna jest tablicą

Sprawdź, czy dana zmienna jest tablicą, używając funkcji `is_array()`.

<?php
$zmienna = [1, 2, 3];
if (is_array($zmienna)) {
    echo "Zmienna jest tablicą.";
} else {
    echo "Zmienna nie jest tablicą.";
}
?>
    

27. Sortowanie tablicy

Posortuj tablicę liczb w porządku rosnącym i wyświetl wynik.

<?php
$tablica = [5, 3, 8, 1, 2];
sort($tablica);
echo "Posortowana tablica: " . implode(", ", $tablica);
?>
    

28. Funkcja generująca losową liczbę

Stwórz funkcję, która zwróci losową liczbę z zakresu od 1 do 100.

<?php
function losowaLiczba() {
    return rand(1, 100);
}
echo "Losowa liczba: " . losowaLiczba();
?>
    

29. Sprawdzanie, czy tekst zawiera słowo

Sprawdź, czy w danym ciągu znaków znajduje się określone słowo, używając `strpos()`.

<?php
$tekst = "Dzień dobry, jak się masz?";
$słowo = "dobry";
if (strpos($tekst, $słowo) !== false) {
    echo "Słowo '$słowo' znajduje się w tekście.";
} else {
    echo "Słowo '$słowo' nie znajduje się w tekście.";
}
?>
    

30. Operacje na ciągach - konwersja na wielkie litery

Stwórz skrypt, który zamienia tekst na wielkie litery za pomocą funkcji `strtoupper()`.

<?php
$tekst = "php jest fajny!";
echo "Tekst wielkimi literami: " . strtoupper($tekst);
?>