It takes a while but I found a way myself. Maybe someone has the same problem, so I post my solution here.
I read this answer to another question and I wrote a filter that changes
public $var = [ ... ];
to public $var = array( ... );
Doxygen than will show the array and everything inside correctly.
<?php
$source = file_get_contents($argv[1]);
$regexp = '#(var|public|protected|private)\s+(\$[^\s;=]+)\s+\=\s+\[([\s\S]*?)\]\;#';
$replac = '${1} ${2} = array( ${3} );';
$source = preg_replace($regexp, $replac, $source);
echo $source;
?>
Here is a preview of the regex.
You can find some more input filters to improve doxygen's php support on GitHub.