Objekt: Skillnad mellan sidversioner

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök
 
(2 mellanliggande sidversioner av samma användare visas inte)
Rad 4: Rad 4:
För att skapa ett nytt objekt, använd nytt-uttalandet för att instansiera en klass:
För att skapa ett nytt objekt, använd nytt-uttalandet för att instansiera en klass:


<nowiki>
Om ett objekt konverteras till ett objek
<?php
class foo
{
    function do_foo()
    {
        echo "Doing foo.";
    }
}


$bar = new foo;
<code><?php</code>
$bar->do_foo();
 
?>
<code>class foo</code>
</nowiki>
 
För en fullständig diskussion, se kapitlet om Klasser och Objekt.
<code>{</code>
 
<code>function do_foo()</code>
 
<code>{</code>
 
<code>echo "Doing foo.";</code>
 
<code>}</code>
 
<code>}</code>
 
<code>$bar = new foo;</code>
 
<code>$bar->do_foo();</code>
 
<code>?></code>
 
 
<code><?php</code>
 
<code>$obj = (object) array('1' => 'foo');</code>
 
<code>var_dump(isset($obj->{'1'})); // ger ut 'bool(true)' från och med PHP 7.2.0; 'bool(false)' tidigare</code>
 
<code>var_dump(key($obj)); // ger ut 'string(1) "1"' från och med PHP 7.2.0; 'int(1)' tidigare</code>
 
<code>?></code>
 
För en fullständig diskussion, se kapitlet om [[Klasser och Objekt]].


=== Konvertera till 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.
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>
<code><?php</code>
<?php
 
$obj = (object) array('1' => 'foo');
<code>$obj = (object) array('1' => 'foo');</code>
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>var_dump(isset($obj->{'1'})); // ger ut 'bool(true)' från och med PHP 7.2.0; 'bool(false)' tidigare</code>
?>
 
</code>
<code>var_dump(key($obj)); // ger ut 'string(1) "1"' från och med PHP 7.2.0; 'int(1)' tidigare</code>
 
<code>?></code>
 
För något annat värde kommer en medlemsvariabel med namnet scalar att innehålla värdet.
För något annat värde kommer en medlemsvariabel med namnet scalar att innehålla värdet.


<code>
<code><?php</code>
<?php
$obj = (object) 'ciao';
echo $obj->scalar;  // ger ut 'ciao'
?>
</code>


=== Konvertera till objekt ===
<code>$obj = (object) 'ciao';</code>
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>echo $obj->scalar;  // ger ut 'ciao'</code>
 
 
[[Kategori:Php]]
 
<code>?></code>
 
[[PHP]]


<nowiki>
[[Språkreferens]]
<?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
?>
</nowiki>
För något annat värde kommer en medlemsvariabel med namnet scalar att innehålla värdet.


<nowiki>
https://www.php.net/manual/en/language.types.object.php
<?php
$obj = (object) 'ciao';
echo $obj->scalar;  // ger ut 'ciao'
?>
</nowiki>

Nuvarande version från 13 augusti 2024 kl. 05.46

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