Objekt

Från Wiki.linux.se
(Omdirigerad från object)
Hoppa till navigering Hoppa till sök

Objekt

Objekt

Objektinitialisering

För att skapa ett nytt objekt, använd nytt-uttalandet för att instansiera en klass:

Om ett objekt konverteras till ett objek

<?php

class foo

{

function do_foo()

{

echo "Doing foo.";

}

}

$bar = new foo;

$bar->do_foo();

?>


<?php

$obj = (object) array('1' => 'foo');

var_dump(isset($obj->{'1'})); // ger ut 'bool(true)' från och med PHP 7.2.0; 'bool(false)' tidigare

var_dump(key($obj)); // ger ut 'string(1) "1"' från och med PHP 7.2.0; 'int(1)' tidigare

?>

För en fullständig diskussion, se kapitlet om Klasser och Objekt.

Konvertera till objekt

Om ett objekt konverteras till ett objekt, modifieras det inte. Om ett värde av någon annan typ konverteras till ett objekt skapas en ny instans av den inbyggda klassen stdClass. Om värdet var null kommer den nya instansen att vara tom. En array konverteras till ett objekt med egenskaper namngivna efter nycklar och motsvarande värden. Observera att i detta fall före PHP 7.2.0 har numeriska nycklar varit otillgängliga såvida de inte itereras.

<?php

$obj = (object) array('1' => 'foo');

var_dump(isset($obj->{'1'})); // ger ut 'bool(true)' från och med PHP 7.2.0; 'bool(false)' tidigare

var_dump(key($obj)); // ger ut 'string(1) "1"' från och med PHP 7.2.0; 'int(1)' tidigare

?>

För något annat värde kommer en medlemsvariabel med namnet scalar att innehålla värdet.

<?php

$obj = (object) 'ciao';

echo $obj->scalar; // ger ut 'ciao'

?>

PHP

Språkreferens

https://www.php.net/manual/en/language.types.object.php