function element_children
element_children(&$elements, $sort = FALSE)
Identifies the children of an element array, optionally sorted by weight.
The children of a element array are those key/value pairs whose key does not start with a '#'. See drupal_render() for details.
Parameters
$elements: The element array whose children are to be identified.
$sort: Boolean to indicate whether the children should be sorted by weight.
Return value
The array keys of the element's children.
File
- includes/common.inc, line 6561
- Common functions that many Drupal modules will need to reference.
Code
function element_children(&$elements, $sort = FALSE) { // Do not attempt to sort elements which have already been sorted. $sort = isset($elements['#sorted']) ? !$elements['#sorted'] : $sort; // Filter out properties from the element, leaving only children. $children = array(); $sortable = FALSE; foreach ($elements as $key => $value) { if ($key === '' || $key[0] !== '#') { $children[$key] = $value; if (is_array($value) && isset($value['#weight'])) { $sortable = TRUE; } } } // Sort the children if necessary. if ($sort && $sortable) { uasort($children, 'element_sort'); // Put the sorted children back into $elements in the correct order, to // preserve sorting if the same element is passed through // element_children() twice. foreach ($children as $key => $child) { unset($elements[$key]); $elements[$key] = $child; } $elements['#sorted'] = TRUE; } return array_keys($children); }
© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/includes!common.inc/function/element_children/7.x