Wpisy otagowane ‘rzutowanie’

Typ string, czyli ciągi znaków w PHP

czwartek, 27 Wrzesień 2012

Jako ciąg znaków traktowane są wszystkie napisy znajdujące się pomiędzy ‘ a ‘ lub " a ". Przy tym ciągi znaków umieszczone pomiędzy " a " są interpretowane przez PHP. W związku z tym wpisanie poniższych linijek kodu nie we wszystkich przypadkach da te same rezultaty.

<?php
  $wiek=3;
  echo '<p>Ala ma 3 lata.</p>';
  echo "<p>Ala ma 3 lata</p>";
  echo "<p>Ala ma $wiek lata</p>";
  echo '<p>Ala ma $wiek lata</p>';
  echo "<p>Ala ma $wiek lata</p>";
  echo '<p>Ala ma '.$wiek.' lata</p>';
  echo "<p>Ala ma ".$wiek." lata</p>";
?>

Aby wewnątrz " i " wyświetlić znaki specjalne należy je „zacytować” – poprzedzić symbolem „\” (backslash).

<?php
  $lata=36;
  echo "Zmienna \$lata ma wartość $lata.";
?>

Najczęściej wykorzystywane znaki specjalne to:

  • \$ – dolar
  • \” – podwójny apostrof
  • \n – koniec linii
  • \r – powrót karetki
  • \t – tabulator

W przypadku ciągów znaków w pojedynczych apostrofach, cytowania wymaga jedynie apostrof.

<?php
  echo 'Ciąg znaków umieszczony pomiędzy \' a \'.';
?>


True lub false – typ logiczny w PHP

piątek, 14 Wrzesień 2012

W tym artykule przedstawię typ logiczny (bool), Zmienne tego typu mogą przyjmować dwie wartości logiczne – prawda lub fałsz; zapisane jako true i false. Wartości mogą być też zapisane wielkimi literami.

<?php
  $prawda=true;
  $falsz=false;
?>

Do rzutowania na typ logiczny służy (bool) lub (boolean). Wartości innych typów przy rzutowaniu na typ logiczny będą przyjmowały wartość false w przypadkach:

  • liczba całkowita 0
  • liczba zmiennoprzecinkowa 0.0
  • pusty ciąg znaków
  • ciąg znaków ’0′
  • tablice z zerową ilością elementów
  • wartość null

<?php
  $nie=(bool)0;
  $tak=(boolean)34;
  $nie2=(bool)0.0;
  $nie3=(bool)'';
  $nie4=(bool)'0';
  $nie5=(bool)array();
  $nie6=(bool)null;
?>


Float, double, real czyli typ zmiennoprzecinkowy w PHP

środa, 29 Sierpień 2012

Kolejny artykuł o typach. Dziś przedstawię typ zmiennoprzecinkowy, czyli typ który pozwala zapisać wartości rzeczywiste np. 4.487376 albo 0.00000000000341

Wartości tego typu możemy zapisywać w notacji zwykłej i naukowej.

<?php
  $liczba5=9.49;		//Zapis zwykły
  $liczba6=19.401e-4;	//Notacja naukowa liczby  0.0019401
?>

Liczby zmiennoprzecinkowe mają ograniczoną precyzję. Zazwyczaj jest to 1.11e-16. Reprezentacja wewnętrna liczb zmiennoprzecinkowych powoduje, że ostatnia cyfra liczby nie jest całkowicie wiarygodna.

<?php
  echo (int)((0.7+0.1)*10);	//wyświetli 7
?>

Do rzutowania na typ zmiennoprzecinkowy służy (float), (double) lub (real). Jeżeli w obliczeniach pierwszym elementem jest liczba typu zmiennoprzecinkowego lub ciąg znaków, który po rzutowaniu jest typu zmiennoprzecinkowego, to wynik działania jest również rzutowany na typ zmiennoprzecinkowy.

<?php
  $liczba1=(float)'3.4';
  $liczba2=(double)4*2;
  $liczba3=(real)99;
  $liczba4=2.5*8;
  $liczba5='0.75'*4;
?>


Int, integer czyli typ całkowity w PHP

piątek, 17 Sierpień 2012

Jak pewnie wszyscy wiedzą w języku PHP tworząc nową zmienną nie podajemy jej typu. Typ zmiennej jest określany przez jej wartość. Są to podstawy i jeżeli przynajmniej próbowałeś programować w PHP, to powinno być dla Ciebie oczywiste. Nie oznacza to wcale, że do programowania nie potrzebna jest absolutnie żadna wiedza o typach. Dziś przedstawię kilka informacji o typie całkowitym.

Wartości tego typu możemy zapisywać w formie dziesiętnej, binarnej, ósemkowej i szesnastkowej.

<?php
  $liczba1=2012;		//Liczba dziesiętna
  $liczba2=-99;		//Liczba ujemna
  $liczba3=0b1001010;	//Liczba 2012 w zapisie binarnym
  $liczba4=03734;	//Liczba 2012 w zapisie ósemkowym
  $liczba5=0x7DC;	//Liczba 2012 w zapisie szesnastkowym
?>

Liczby całkowite w systemach 32 bitowych zawierają się w zakresie od -2147483647 do 2147483647, a w systemach 64 bitowych w zakresie od -9223372036854775807 do 9223372036854775807. Po przekroczeniu zakresu typ liczby zamieniany jest na float.

Do rzutowania na typ całkowity służy (int) lub (integer).

<?php
  $liczba1=(int)89/5;
  $liczba2=(integer)45/8;
  echo $liczba1.'<br />';
  echo $liczba2.'<br />';
?>

Rzutowanie powoduje przycięcie wartości wyrażenia do części całkowitej. W powyższym przypadku zostaną wyświetlone wartości 17 i 5.