Nasıl bir dizeye var_dump sonucu yakalayabilir?

7 Cevap php

Ben bir dizeye var_dump çıkış yakalamak istiyorum.

PHP dokümanlar söylüyorlar;

, Doğrudan tarayıcıya sonucu çıktılar output-control functions Bu fonksiyonun çıkış yakalamak, ve (örneğin) bir dize kaydetmek için kullanılabilir bir şey gibi.

Birisi bana bu işe nasıl bir örnek verebilir misiniz?

O bana ihtiyacım bilgi vermek için gitmiyorum çünkü print_r() geçerli bir olasılık değildir.

7 Cevap

Çıktı tamponlama kullanın:

<?php
ob_start();
var_dump($someVar);
$result = ob_get_clean();
?>

Ayrıca var_export($var, true); kullanabilirsiniz - ancak bu fonksiyon muhtemelen size ihtiyacınız olan tüm bilgileri vermeyecektir.

Ayrıca bu yapabilirdi:

$dump = print_r($variable, true);

Ayrıca puprposes debuging için bazen çok yararlı, serialize () işlevini kullanmayı deneyebilirsiniz.

Ayrıca echo json_encode($dataobject); yardımcı olabilir

Eğer çalışma sırasında değişkenleri içeriğine bakmak istiyorsanız, xdebug gibi gerçek bir hata ayıklayıcı kullanarak düşünün. Bu şekilde pisliği kaynak kodu gerekmez ve normal kullanıcılar uygulamanızı ziyaret sırasında bile bir hata ayıklayıcı kullanabilirsiniz. Onlar fark etmez.

burada fonksiyonu olarak komple bir çözümdür.

function varDumpToString ($var)
{
    ob_start();
    var_dump($var);
    return ob_get_clean();
}