# Gepost op 08-01-2010 18:32
Bewerkt door vlerknozem op 08-01-2010 19:46
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:
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.
Het resultaat is:
Overigens kan je bovenstaande code ook iets korter maken:
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:
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.
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.
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.
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.
Om nu verder te gaan op het voorbeeld dat ik net gaf, we gaan nu een string maken die we omzetten naar een integer:
- <?php
- $string = (int) "10 appels";
- echo $string;
- ?>
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.
- <?php
- ?>
Het resultaat is:
Plain | Plain new window | code:
- Array
- (
- [0] => dit wordt een array
- )
Overigens kan je bovenstaande code ook iets korter maken:
- <?php
- $array[] = 'dit wordt een array';
- ?>
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:
- <?php
- echo $string1.'<br />'.$string2;
- ?>
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.
- <?php
- $int = (int) '10.33';
- $float = (float) '10.33';
- echo $int .'<br />'.$float;
- ?>
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.
- <?php
- class test {
- protected $a = 'test a';
- public function __construct() {
- $this->b = 'test b';
- }
- }
- ?>
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.
- <?php
- $class = (object) 'test';
- $class->fiets = 'rood';
- echo $class->fiets;
- ?>
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