Base::extractValueMultiple: Bitrix method

      
<?php 
//  Bitrix\Bizproc\BaseType\Base :: extractValueMultiple()
//  /dist/bitrix/modules/bizproc/lib/basetype/base.php:594

    
public static function extractValueMultiple(FieldType $fieldType, array $field, array $request)
    {
        static::
cleanErrors();

        
$name $field['Field'];
        
$value = isset($request[$name]) ? $request[$name] : array();

        if (!
is_array($value) || is_array($value) && \CBPHelper::isAssociativeArray($value))
            
$value = array($value);

        foreach (
$value as $k => $v)
        {
            
$field['Index'] = $k;
            
$result = static::extractValue($fieldType$field$request);
            if (
$result === null || $result === '')
            {
                unset(
$value[$k]);
            }
            else
                
$value[$k] = $result;
        }

        
//append selector value
        
$nameText $field['Field'].'_text';
        
$text = isset($request[$nameText]) ? $request[$nameText] : null;
        if (\
CBPActivity::isExpression($text))
            
$value[] = $text;

        return 
array_values($value);
    }