U bevindt zich hier: Forum » Tutorials » [PHP] Converteren van datatypes
   Actief Topic: [PHP] Converteren van datatypes

Vorige ( 1 ) Volgende

vlerknozem
Admin
avatar
# Gepost op 08-01-2010 18:32
Bewerkt door vlerknozem op 08-01-2010 19:46


In php heb je verschillende soorten dadatypes. Je hebt zo strings, integers, arrays, objects enzovoorts. Maar soms wil je dat een string bijvoorbeeld een integer wordt. Dit noemen we converteren. Om te converteren zet je het soort, in dit geval integer tussen haakjes voor de datatype.

Om nu verder te gaan op het voorbeeld dat ik net gaf, we gaan nu een string maken die we omzetten naar een integer:
Plain | Plain new window | PHP code:
  1. <?php
  2. $string = (int) "10 appels";
  3. echo $string;
  4. ?>

Je ziet dat het woord 'appels' wordt weggehaald. Wel een klein puntje, als je tekst voor het getal zet werkt het niet. Als php er geen integer van kan maken dan krijg je als resultaat een 0.


Nu gaan we het eens uitproberen met een array. We hebben een string dat we omzetten naar een array.
Plain | Plain new window | PHP code:
  1. <?php
  2. $array = (array) 'dit wordt een array';
  3. print_r($array);
  4. ?>

Het resultaat is:
  1. Array
  2. (
  3.     [0] => dit wordt een array
  4. )

Overigens kan je bovenstaande code ook iets korter maken:
Plain | Plain new window | PHP code:
  1. <?php
  2. $array[] = 'dit wordt een array';
  3. print_r($array);
  4. ?>


Als we het andersom doen, een array omzetten naar een string, dan krijg je alleen Array te zien. Maar als we het omzetten naar een integer dan zien we wel iets leuks:
Plain | Plain new window | PHP code:
  1. <?php
  2. $string1 = (int) array('a','b','c');
  3. $string2 = (int) array();
  4. echo $string1.'<br />'.$string2;
  5. ?>

Nu krijg je bij de eerste array een 1 te zien, en bij de tweede een 0. Met andere woorden kan je op deze manier zien of een array gevuld is of niet. Let wel op dat hier ook functies voor zijn zoals empty() of count().

Nu even een voorbeeld waarmee je het verschil tussen int en float goed kan zien.
Plain | Plain new window | PHP code:
  1. <?php
  2. $int = (int) '10.33';
  3. $float = (float) '10.33';
  4. echo $int .'<br />'.$float;
  5. ?>

Zoals je ziet worden bij een integer de decimalen niet meegenomen wat bij float wel het geval is.

Het volgende voorbeeld wordt voor beginners misschien lastig. Als je geen verstand hebt van OOP dan kan je er ook niks mee. Wat we nu gaan doen is een object converteren naar een array.

Plain | Plain new window | PHP code:
  1. <?php
  2. class test {
  3.     protected $a = 'test a';
  4.  
  5.     public function __construct() {
  6.         $this->b = 'test b';
  7.     }
  8. }
  9.  
  10. $test = (array) new test();
  11. print_r($test);
  12. ?>

Zoals je ziet worden de properties van de klasse test omgezet naar een array. De key is steeds de variabelnaam, de value is de value van de variabele. Let op dat er bij private en protected de key anders wordt weergeven. Probeer maar eens uit.


Nu weer een leuk voorbeeld wat met OOP te maken heeft. We maken een nieuw object aan via een string.
Plain | Plain new window | PHP code:
  1. <?php
  2. $class = (object) 'test';
  3. $class->fiets = 'rood';
  4. echo $class->fiets;
  5. ?>

Zoals je ziet wordt de string 'test' een lege klasse met de naam test. Om aan te tonen dat het een werkende klasse is geworden geven we het een property mee, en proberen de property te echoën.

Lees de forum regels

Vorige ( 1 ) Volgende

U moet aangemeld zijn om een reactie te kunnen plaatsen.

Indien u nog geen account heeft kunt u zich hier registreren.



© copyright 2009/2010 WebProjects 1.02 - Template van Sebastaan Franken