public static function mixedToMongoIdList(array $list)
    {
        return array_map(function ($element) {
            // MongoId
            if ($element instanceof \MongoId) {
                return $element;
            }

            // \Sokil\Mongo\Document
            if ($element instanceof Document) {
                return $element->getId();
            }

            // array with id key
            if (is_array($element)) {
                if (!isset($element['_id'])) {
                    throw new \InvalidArgumentException('Array must have _id key');
                }
                return $element['_id'];
            }

            // string
            if (is_string($element)) {
                try {
                    return new \MongoId($element);
                } catch (\MongoException $e) {
                    return $element;
                }
            }

            // int
            if (is_int($element)) {
                return $element;
            }

            throw new \InvalidArgumentException(
                'Must be \MongoId, \Sokil\Mongo\Document, array with _id key, string or integer'
            );
        }, array_values($list));
    }
public static function mixedToMongoIdList(array $list)
    {
        return array_map(function ($element) {
            // MongoId
            if ($element instanceof \MongoId) {
                return $element;
            }

            // \Sokil\Mongo\Document
            if ($element instanceof Document) {
                return $element->getId();
            }

            // array with id key
            if (is_array($element)) {
                if (!isset($element['_id'])) {
                    throw new \InvalidArgumentException('Array must have _id key');
                }
                return $element['_id'];
            }

            // string
            if (is_string($element)) {
                try {
                    return new \MongoId($element);
                } catch (\MongoException $e) {
                    return $element;
                }
            }

            // int
            if (is_int($element)) {
                return $element;
            }

            throw new \InvalidArgumentException(
                'Must be \MongoId, \Sokil\Mongo\Document, array with _id key, string or integer'
            );
        }, array_values($list));
    }
public static function mixedToMongoIdList ( array $ list ) { return array_map ( function ( $ element ) { // MongoId if ( $ element instanceof \ MongoId ) { return $ element ; } // \Sokil\Mongo\Document if ( $ element instanceof Document ) { return $ element -> getId ( ) ; } // array with id key if ( is_array ( $ element ) ) { if ( ! isset ( $ element [ '_id' ] ) ) { throw new \ InvalidArgumentException ( 'Array must have _id key' ) ; } return $ element [ '_id' ] ; } // string if ( is_string ( $ element ) ) { try { return new \ MongoId ( $ element ) ; } catch ( \ MongoException $ e ) { return $ element ; } } // int if ( is_int ( $ element ) ) { return $ element ; } throw new \ InvalidArgumentException ( 'Must be \MongoId, \Sokil\Mongo\Document, array with _id key, string or integer' ) ; } , array_values ( $ list ) ) ; }
Get list of MongoId objects from array of strings, MongoId's and Document's

@param array $list
@return array list of \MongoId
Get list of MongoId objects from array of strings MongoId s and Document s