Objekt: Skillnad mellan sidversioner

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök
(Skapade sidan med '== Objekt == === Objektinitialisering === För att skapa ett nytt objekt, använd nytt-uttalandet för att instansiera en klass: <nowiki> <?php class foo { function do_foo() { echo "Doing foo."; } } $bar = new foo; $bar->do_foo(); ?> </nowiki> 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 konvertera...')
 
Rad 1: Rad 1:
== Objekt ==
== Objekt ==
== Objekt ==
=== Objektinitialisering ===
=== Objektinitialisering ===
Rad 18: Rad 19:
</nowiki>
</nowiki>
För en fullständig diskussion, se kapitlet om Klasser och Objekt.
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.
<code>
<?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
?>
</code>
För något annat värde kommer en medlemsvariabel med namnet scalar att innehålla värdet.
<code>
<?php
$obj = (object) 'ciao';
echo $obj->scalar;  // ger ut 'ciao'
?>
</code>


=== Konvertera till objekt ===
=== Konvertera till objekt ===

Versionen från 13 augusti 2024 kl. 05.37

Objekt

Objekt

Objektinitialisering

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

<?php class foo { function do_foo() { echo "Doing foo."; } } $bar = new foo; $bar->do_foo(); ?> 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' ?>

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' ?>