BP_Document::array_msort( $array, $cols )
Sort data based on order.
Description
Parameters
- $array
-
(Required)
- $cols
-
(Required)
Return
(array|mixed)
Source
File: bp-document/classes/class-bp-document.php
public static function array_msort( $array, $cols ) { $array = json_decode( json_encode( $array ), true ); $colarr = array(); foreach ( $cols as $col => $order ) { $colarr[ $col ] = array(); foreach ( $array as $k => $row ) { $colarr[ $col ][ '_' . $k ] = strtolower( $row[ $col ] ); } } $eval = 'array_multisort('; foreach ( $cols as $col => $order ) { $eval .= '$colarr[\'' . $col . '\'],' . $order . ','; } $eval = substr( $eval, 0, - 1 ) . ');'; eval( $eval ); $ret = array(); foreach ( $colarr as $col => $arr ) { foreach ( $arr as $k => $v ) { $k = substr( $k, 1 ); if ( ! isset( $ret[ $k ] ) ) { $ret[ $k ] = $array[ $k ]; } $ret[ $k ][ $col ] = $array[ $k ][ $col ]; } } if ( ! empty( $ret ) ) { $i = 0; $arr = array(); foreach ( $ret as $k => $v ) { $ret[ $i ] = (object) $v; $arr[ $i ] = (object) $v; $i ++; } } return $arr; }
Changelog
Version | Description |
---|---|
BuddyBoss 1.4.0 | Introduced. |
Questions?
We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.