public function getShippingContactDifferences($mode = self::MODE_FILTER_EMPTY_WHEN_STRING_VALUES)
    {
        $difference = [];
        foreach ($this->getContactParameterNames() as $parameterName)
        {
            $billingGetter = 'getBilling'.ucfirst($parameterName);
            $shippingGetter = 'getShipping'.ucfirst($parameterName);
            $billingValue = $this->$billingGetter();
            $shippingValue = $this->$shippingGetter();
            if ($billingValue !== $shippingValue) {
                $difference[$parameterName] = $shippingValue;
            }
        }
        if ($mode === self::MODE_FILTER_EMPTY_WHEN_STRING_VALUES) {
            $result = array_filter($difference, 'strlen');
        } elseif ($mode === self::MODE_FILTER_EMPTY_VALUES) {
            $result = array_filter($difference);
        }
        else {
            $result = $difference;
        }
        return $result;
    }
public function getShippingContactDifferences($mode = self::MODE_FILTER_EMPTY_WHEN_STRING_VALUES)
    {
        $difference = [];
        foreach ($this->getContactParameterNames() as $parameterName)
        {
            $billingGetter = 'getBilling'.ucfirst($parameterName);
            $shippingGetter = 'getShipping'.ucfirst($parameterName);
            $billingValue = $this->$billingGetter();
            $shippingValue = $this->$shippingGetter();
            if ($billingValue !== $shippingValue) {
                $difference[$parameterName] = $shippingValue;
            }
        }
        if ($mode === self::MODE_FILTER_EMPTY_WHEN_STRING_VALUES) {
            $result = array_filter($difference, 'strlen');
        } elseif ($mode === self::MODE_FILTER_EMPTY_VALUES) {
            $result = array_filter($difference);
        }
        else {
            $result = $difference;
        }
        return $result;
    }
public function getShippingContactDifferences ( $ mode = self :: MODE_FILTER_EMPTY_WHEN_STRING_VALUES ) { $ difference = [ ] ; foreach ( $ this -> getContactParameterNames ( ) as $ parameterName ) { $ billingGetter = 'getBilling' . ucfirst ( $ parameterName ) ; $ shippingGetter = 'getShipping' . ucfirst ( $ parameterName ) ; $ billingValue = $ this -> $ billingGetter ( ) ; $ shippingValue = $ this -> $ shippingGetter ( ) ; if ( $ billingValue !== $ shippingValue ) { $ difference [ $ parameterName ] = $ shippingValue ; } } if ( $ mode === self :: MODE_FILTER_EMPTY_WHEN_STRING_VALUES ) { $ result = array_filter ( $ difference , 'strlen' ) ; } elseif ( $ mode === self :: MODE_FILTER_EMPTY_VALUES ) { $ result = array_filter ( $ difference ) ; } else { $ result = $ difference ; } return $ result ; }
Returns those shipping contact parameters which are different for shipping and billing
Keys are camel cased parameter names without shipping prefix, values are shipping contact parameter values

@param string $mode Filtering mode (if any): By default this methods filters out values, which are empty when converted to string
@return array
Returns those shipping contact parameters which are different for shipping and billing Keys are camel cased parameter names without shipping prefix values are shipping contact parameter values