(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
ob_list_handlers — 使用中の出力ハンドラの一覧を取得する
この関数にはパラメータはありません。
これは、使用中の出力ハンドラを(もし存在すれば)配列で返します。
   もし output_buffering が
   有効になっており、output_handler
   が未設定の場合や、コールバックが設定されていない場合、
   あるいは ob_start() に null を渡した場合は、
   "default output handler" を返します。
   output_buffering
   を有効にし、output_handler
   を設定することは、
   内部(組み込み)関数
   を ob_start() に渡すことと同じです。
  
   ob_start() に callable
   を渡した場合、callable の
   完全修飾名
   を返します。callable が
   __invoke() を実装したオブジェクトの場合、
   オブジェクトの __invoke()
   メソッドの
   完全修飾名 を返します。
   callable が Closure の場合、
   "Closure::__invoke" を返します。
  
例1 ob_list_handlers() の例
<?php
// using output_buffering=On, no output_handler set
var_dump(ob_list_handlers());
ob_end_flush();
// no callback or null
ob_start();
var_dump(ob_list_handlers());
ob_end_flush();
// anonymous function
ob_start(function($string) { return $string; });
var_dump(ob_list_handlers());
ob_end_flush();
// arrow function
ob_start(fn($string) => $string);
var_dump(ob_list_handlers());
ob_end_flush();
// first class callable
$firstClassCallable = userDefinedFunction(...);
ob_start([$firstClassCallable, '__invoke']);
var_dump(ob_list_handlers());
ob_end_flush();
// internal (built-in) function
ob_start('print_r');
var_dump(ob_list_handlers());
ob_end_flush();
// user-defined function
function userDefinedFunction($string, $flags) { return $string; };
ob_start('userDefinedFunction');
var_dump(ob_list_handlers());
ob_end_flush();
class MyClass {
    public static function staticHandle($string) {
        return $string;
    }
    public static function handle($string) {
        return $string;
    }
    public function __invoke($string) {
        return $string;
    }
}
// class and static method
ob_start(['MyClass','staticHandle']);
var_dump(ob_list_handlers());
ob_end_flush();
// object and non-static method
ob_start([new MyClass,'handle']);
var_dump(ob_list_handlers());
ob_end_flush();
// invokable object
ob_start(new MyClass);
var_dump(ob_list_handlers());
ob_end_flush();
?>上の例の出力は以下となります。
array(1) {
  [0]=>
  string(22) "default output handler"
}
array(1) {
  [0]=>
  string(22) "default output handler"
}
array(1) {
  [0]=>
  string(7) "print_r"
}
array(1) {
  [0]=>
  string(19) "userDefinedFunction"
}
array(1) {
  [0]=>
  string(17) "Closure::__invoke"
}
array(1) {
  [0]=>
  string(17) "Closure::__invoke"
}
array(1) {
  [0]=>
  string(17) "Closure::__invoke"
}
array(1) {
  [0]=>
  string(21) "MyClass::staticHandle"
}
array(1) {
  [0]=>
  string(15) "MyClass::handle"
}
array(1) {
  [0]=>
  string(17) "MyClass::__invoke"
}
