I’m working on a drupal site and when debugging, I am always having to read through long, nested arrays. As a result, a large portion of my life is spent using the arrow, return, and tab keys, to split up 1000+ character strings into a nested, readable format.
For drupal devs, I can’t use devel’s dsm(), as I’m working with multi-step #ahah/#ajax forms, and I can only output the arrays to the error log, not to the screen.
Visual example:
Evil:
array ( 'form_wrapper' => array ( '#tree' => true, '#type' => 'fieldset', '#prefix' => '', '#suffix' => '', '#value' => '', 'name' => array ( '#type' => 'textfield', '#title' => NULL, '#size' => 60, '#maxlength' => 60, '#required' => false, '#description' => NULL, '#attributes' => array ( 'placeholder' => 'Email', ), '#post' => array ( 'form_wrapper' => array ( 'name' => '', 'pass' => '', ),…
Good:
array ( 'form_wrapper' => array ( '#tree' => true, '#type' => 'fieldset', '#prefix' => '<div>', '#suffix' => '</div>', '#value' => '', 'name' => array ( '#type' => 'textfield', '#title' => NULL, '#size' => 60, '#maxlength' => 60, '#required' => false, '#description' => NULL, '#attributes' => array ( 'placeholder' => 'Email', ),
Edit: Sorry, by “not output to screen”, I meant via drupal’s system messages where it’s possible to output arrays in a clickable, nested format (using devel.module).
Advertisement
Answer
If you need to log an error to Apache error log you can try this:
error_log( print_r($multidimensionalarray, TRUE) );