User login

Making changes to a nested array that may have arrays or strings in some values

Pulled this from the test module for the new RDF module we're putting in Drupal core.

// dealing with a nested array where the top level can be a string or an
// array is complex and helper functions may be a good addition

<?php
  rdf_mapping_alter_create('rdf_test_container', 'title', )

/**
 * Make adding an attribute and property sane.  $prop can be an array.
 */
function rdf_mapping_alter_create($container, $attr, $prop, &$mapping) {
  if (isset($mapping[$container])) {
    if (isset($mapping[$container][$attribute])) {
      $mapping[$container][$attr] = (array)$mapping[$container][$attr];

//      isset($mapping['rdf_test_container']['created'][

  // @TODO test this
  // what happens if we try to unset something that isn't there?
  unset($mapping['rdf_test_container']['not_there']); 
}
?>

Resolution

Searched words: 
array merge recursive preserve override

Comments

Post new comment

The content of this field is kept private and will not be shown publicly.
  • You may post code using <code>...</code> (generic) or <?php ... ?> (highlighted PHP) tags.
  • You can use Markdown syntax to format and style the text. Also see Markdown Extra for tables, footnotes, and more.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img> <blockquote> <small> <h2> <h3> <h4> <h5> <h6> <sub> <sup> <p> <br> <strike> <table> <tr> <td> <thead> <th> <tbody> <tt> <output>
  • Lines and paragraphs break automatically.

More information about formatting options

By submitting this form, you accept the Mollom privacy policy.