var_export

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

var_exportBir değişkenin çözümlenebilir dizge gösterimini döndürür veya çıktılar

Açıklama

var_export ( mixed $ifade [, bool $döndür = false ] ) : mixed

var_export() işlevi belirtilen değişken hakkında yapı bilgisi döndürür. Dönen gösterimin geçerli bir PHP kodu olması dışında var_dump() işlevine benzer.

Değiştirgeler

ifade

Bilgi edinmek istenen değişken.

döndür

TRUE belirtilmişse, var_export() işlevi değişken gösterimini çıktılamak yerine döndürür.

Bilginize:

Bu işlev bu değiştirge ile bir dahili çıktı tamponu kullanır, dolayısıyla ob_start() geriçağırım işlevinin içinde kullanılamaz.

Dönen Değerler

döndür değiştirgesinde TRUE belirtildiğinde değişkenin gösterimini döndürür. Aksi takdirde NULL döndürür.

Sürüm Bilgisi

Sürüm: Açıklama
5.1.0 __set_state sihirli yöntemi kullanılarak sınıfları ve sınıfları içeren dizileri çıktılamak mümkün oldu.

Örnekler

Örnek 1 - var_export() örnekleri

<?php
$a 
= array (12, array ("a""b""c"));
var_export($a);
?>

Yukarıdaki örneğin çıktısı:

array (
  0 => 1,
  1 => 2,
  2 =>
  array (
    0 => 'a',
    1 => 'b',
    2 => 'c',
  ),
)
<?php

$b 
3.1;
$v var_export($btrue);
echo 
$v;

?>

Yukarıdaki örneğin çıktısı:

3.1

Örnek 2 - PHP 5.1.0'den beri sınıfların çıktılanması

<?php
class { public $var; }
$a = new A;
$a->var 5;
var_export($a);
?>

Yukarıdaki örneğin çıktısı:

A::__set_state(array(
   'var' => 5,
))

Örnek 3 - __set_state kullanımı (PHP 5.1.0'dan beri)

<?php
class A
{
    public 
$var1;
    public 
$var2;

    public static function 
__set_state($an_array)
    {
        
$obj = new A;
        
$obj->var1 $an_array['var1'];
        
$obj->var2 $an_array['var2'];
        return 
$obj;
    }
}

$a = new A;
$a->var1 5;
$a->var2 'foo';

eval(
'$b = ' var_export($atrue) . ';'); // $b = A::__set_state(array(
                                            //    'var1' => 5,
                                            //    'var2' => 'foo',
                                            // ));
var_dump($b);
?>

Yukarıdaki örneğin çıktısı:

object(A)#2 (2) {
  ["var1"]=>
  int(5)
  ["var2"]=>
  string(3) "foo"
}

Notlar

Bilginize:

resource türündeki değişkenler bu işlev ile çıktılanamaz.

Bilginize:

var_export() işlevi, döngüsel gönderimler için PHP'nin çözümlenebilir bir kod üretmesi imkansıza yakın olduğundan bu tür döngüler işleme sokulmaz. Bir dizi veya nesnenin dizgesel gösterimi üzerinde işlemler yapmak istiyorsanız serialize() işlevini kullanın.

Ayrıca Bakınız

  • print_r() - Bir değişkenin insanlarca okunabilecek gösterimini basar
  • serialize() - Bir değerin saklanabilir bir gösterimini üretir
  • var_dump() - Bir değişkenle ilgili bilgiyi dökümler