BAZA WIEDZY
KURSY
Bazy danych w PHP
Kurs AdvancedAJAX
Kurs ASP
Kurs ASP.NET
Kurs C++
Kurs CSS
Kurs HTML
Kurs HTML drugi
Kurs JavaScript
Kurs MySQL
Kurs PHP
Kurs RSS
Kurs XHTML
Obiekty DOM
MANUALE
CSS1 - W3C
DOM - w budowie
PHP 2005
PHP 2006
Wyrażenia regularne
SHOUTBOX
STAT
Online: 60 | UU: 3389

Zmiana typu

Zazwyczaj nie jest konieczne określenie typu zmiennej - PHP sam to ustala, zależnie od kontekstu.

Przykład 2.6. Zmiana typu zmiennej



<?php
   $blah 
"0";  
   
// $blah jest ciągiem (ASCII 48)
   
$blah++;      
   
// $blah jest ciągiem "1" (ASCII 49)
   
$blah += 1;   
   
// $blah jest teraz wartością całkowitą (2)
   
$blah =  + 1.3;  
   
// $blah jest wartością rzeczywistą (1.3)
   
$blah "10 Malutkich Świnek"
   
// $blah jest wartością całkowitą (15)
   
$blah "10 Małych Świń";     
   
// $blah jest wartością całkowitą (15)
?>

Podczas przypisywania zmiennej nowej wartości, poprzednia wartość jest oczywiście zamazywana. W takim przypadku typ zmiennej ustalany jest od nowa.

Jeśli jednak zachodzi potrzeba zmiany typu lub PHP błędnie rozpoznaje typ, to można tego dokonać za pomocą rzutowania (cast - efekt jest jednorazowy) lub za pomocą funkcji settype (efekt trwały).

Rzutowanie typów odbywa się przez podanie nowego typu w nawiasie przed zmienną lub wartością, której typ chcemy zmienić.

Przykład 2.7. Rzutowanie typów



<?php
   $liczba_calkowita 
10;
   
$liczba_rzeczywista = (real) $liczba_calkowita;
?>

Dozwolone typy rzutowań

  • (int), (integer) - rzutuj do typu całkowitego
  • (real), (double), (float) - rzutuj do typu rzeczywistego
  • (string) - rzutuj do ciągu
  • (array) - rzutuj do tablicy
  • (object) - rzutuj do obiektu

Drugim sposobem, trwałym, jest użycie funkcji settype. Funkcja ta pobiera 2 argumenty. Pierwszym jest nazwa zmiennej do ustalenia typu, a drugim ciąg określający nowy typ zmiennej.

Dopuszczalne argumenty funkcji settype

  • "integer"
  • "double"
  • "string"
  • "array"
  • "object"

Funkcja zwraca wartość "true" gdy wszystko poszło pomyślnie. W przeciwnym razie zwracana jest wartość "false".

Przykład 2.8. Przykład użycia funkcji settype



<?php
   $zmienna 
10.3;
   echo 
"$zmienna"// Wyświetlona wartość to "10.3"
   
settype($zmienna"integer");
   echo 
"$zmienna"// Wyświetlona wartość to "10"
?>
Copyright © 2006-2011 egrafik.pl | Kontakt | Reklama | Projekty domów
jocker