ScalarFunctionChain implements ScalarFunction
Interfaces
Methods
- and() : All
- andNot() : All
- arrayFilter() : self
- Filters an array by removing all elements that matches passed value.
- arrayGet() : self
- arrayGetCollection() : self
- arrayGetCollectionFirst() : self
- arrayKeep() : self
- Filters an array by keeping only elements that matches passed value.
- arrayKeys() : self
- Returns all keys from an array, ignoring the values.
- arrayMerge() : self
- arrayMergeCollection() : self
- arrayPathExists() : self
- arrayReverse() : self
- arraySort() : self
- arrayValues() : self
- Returns all values from an array, ignoring the keys.
- ascii() : self
- between() : self
- capitalize() : self
- cast() : self
- coalesce() : self
- concat() : self
- concatWithSeparator() : self
- contains() : self
- dateFormat() : self
- dateTimeFormat() : self
- divide() : self
- domElementAttribute() : self
- domElementAttributesCount() : self
- domElementAttributeValue() : self
- domElementValue() : self
- endsWith() : self
- equals() : self
- exists() : self
- expand() : self
- Expands each value into entry, if there are more than one value, multiple rows will be created.
- greaterThan() : self
- greaterThanEqual() : self
- hash() : self
- indexOf() : self
- Returns the index of given $needle in string.
- isEven() : self
- isFalse() : self
- isIn() : self
- isNotNull() : self
- isNotNumeric() : self
- isNull() : self
- isNumeric() : self
- isOdd() : self
- isTrue() : self
- isType() : self
- isUtf8() : IsUtf8
- Check string is utf8 and returns true or false.
- jsonDecode() : self
- jsonEncode() : self
- lessThan() : self
- lessThanEqual() : self
- literal() : self
- lower() : self
- minus() : self
- mod() : self
- modifyDateTime() : self
- multiply() : self
- notEquals() : self
- notSame() : self
- numberFormat() : self
- onEach() : OnEach
- Execute a scalar function on each element of an array/list/map/structure entry.
- or() : Any
- orNot() : Any
- plus() : self
- power() : self
- regex() : self
- regexAll() : RegexAll
- regexMatch() : self
- regexMatchAll() : self
- regexReplace() : self
- round() : self
- same() : self
- sanitize() : self
- size() : self
- slug() : self
- split() : self
- sprintf() : self
- startsWith() : self
- stringAfter() : self
- Returns the contents found after the first occurrence of the given string.
- stringAfterLast() : self
- Returns the contents found after the last occurrence of the given string.
- stringBefore() : self
- Returns the contents found before the first occurrence of the given string.
- stringBeforeLast() : self
- Returns the contents found before the last occurrence of the given string.
- stringFold() : self
- Returns a string that you can use in case-insensitive comparisons.
- stringStyle() : self
- Covert string to a style from enum list, passed in parameter.
- stringTitle() : self
- Changes all graphemes/code points to "title case".
- strPad() : self
- strPadBoth() : self
- strPadLeft() : self
- strPadRight() : self
- strReplace() : self
- toDate() : self
- toDateTime() : self
- trim() : self
- unpack() : self
- Unpacks each element of an array into a new entry, using the array key as the entry name.
- upper() : self
- xpath() : self
Methods
and()
public
and(ScalarFunction $function) : All
Parameters
- $function : ScalarFunction
Return values
AllandNot()
public
andNot(ScalarFunction $function) : All
Parameters
- $function : ScalarFunction
Return values
AllarrayFilter()
Filters an array by removing all elements that matches passed value.
public
arrayFilter(mixed $value) : self
Applicable to all data structures that can be converted to an array:
- json
- list
- map
- structure.
Parameters
- $value : mixed
Return values
selfarrayGet()
public
arrayGet(ScalarFunction|string $path) : self
Parameters
- $path : ScalarFunction|string
Return values
selfarrayGetCollection()
public
arrayGetCollection(ScalarFunction|array<string|int, mixed> $keys) : self
Parameters
- $keys : ScalarFunction|array<string|int, mixed>
Return values
selfarrayGetCollectionFirst()
public
arrayGetCollectionFirst(string ...$keys) : self
Parameters
- $keys : string
Return values
selfarrayKeep()
Filters an array by keeping only elements that matches passed value.
public
arrayKeep(mixed $value) : self
Applicable to all data structures that can be converted to an array:
- json
- list
- map
- structure.
Parameters
- $value : mixed
Return values
selfarrayKeys()
Returns all keys from an array, ignoring the values.
public
arrayKeys() : self
Applicable to all data structures that can be converted to an array:
- json
- list
- map
- structure.
Return values
selfarrayMerge()
public
arrayMerge(ScalarFunction|array<string|int, mixed> $ref) : self
Parameters
- $ref : ScalarFunction|array<string|int, mixed>
Return values
selfarrayMergeCollection()
public
arrayMergeCollection() : self
Return values
selfarrayPathExists()
public
arrayPathExists(ScalarFunction|string $path) : self
Parameters
- $path : ScalarFunction|string
Return values
selfarrayReverse()
public
arrayReverse([ScalarFunction|bool $preserveKeys = false ]) : self
Parameters
- $preserveKeys : ScalarFunction|bool = false
Return values
selfarraySort()
public
arraySort([ScalarFunction|Sort|null $sortFunction = null ][, ScalarFunction|int|null $flags = null ][, ScalarFunction|bool $recursive = true ]) : self
Parameters
- $sortFunction : ScalarFunction|Sort|null = null
- $flags : ScalarFunction|int|null = null
- $recursive : ScalarFunction|bool = true
Return values
selfarrayValues()
Returns all values from an array, ignoring the keys.
public
arrayValues() : self
Applicable to all data structures that can be converted to an array:
- json
- list
- map
- structure.
Return values
selfascii()
public
ascii() : self
Return values
selfbetween()
public
between(mixed|ScalarFunction $lowerBoundRef, mixed|ScalarFunction $upperBoundRef[, Boundary|ScalarFunction $boundary = Boundary::LEFT_INCLUSIVE ]) : self
Parameters
- $lowerBoundRef : mixed|ScalarFunction
- $upperBoundRef : mixed|ScalarFunction
- $boundary : Boundary|ScalarFunction = Boundary::LEFT_INCLUSIVE
Return values
selfcapitalize()
public
capitalize() : self
Return values
selfcast()
public
cast(string|Type<string|int, mixed> $type[, Options|null $options = null ]) : self
Parameters
Return values
selfcoalesce()
public
coalesce(ScalarFunction ...$params) : self
Parameters
- $params : ScalarFunction
Return values
selfconcat()
public
concat(ScalarFunction|string ...$params) : self
Parameters
- $params : ScalarFunction|string
Return values
selfconcatWithSeparator()
public
concatWithSeparator(ScalarFunction|string $separator, ScalarFunction|string ...$params) : self
Parameters
- $separator : ScalarFunction|string
- $params : ScalarFunction|string
Return values
selfcontains()
public
contains(ScalarFunction|string $needle) : self
Parameters
- $needle : ScalarFunction|string
Return values
selfdateFormat()
public
dateFormat([string $format = 'Y-m-d' ]) : self
Parameters
- $format : string = 'Y-m-d'
Return values
selfdateTimeFormat()
public
dateTimeFormat([string $format = 'Y-m-d H:i:s' ]) : self
Parameters
- $format : string = 'Y-m-d H:i:s'
Return values
selfdivide()
public
divide(ScalarFunction|int|float|string $value[, ScalarFunction|int|null $scale = null ][, ScalarFunction|Rounding|null $rounding = null ]) : self
Parameters
- $value : ScalarFunction|int|float|string
- $scale : ScalarFunction|int|null = null
- $rounding : ScalarFunction|Rounding|null = null
Return values
selfdomElementAttribute()
public
domElementAttribute(ScalarFunction|string $attribute) : self
Use domElementAttributeValue instead
Parameters
- $attribute : ScalarFunction|string
Return values
selfdomElementAttributesCount()
public
domElementAttributesCount() : self
Return values
selfdomElementAttributeValue()
public
domElementAttributeValue(ScalarFunction|string $attribute) : self
Parameters
- $attribute : ScalarFunction|string
Return values
selfdomElementValue()
public
domElementValue() : self
Return values
selfendsWith()
public
endsWith(ScalarFunction|string $needle) : self
Parameters
- $needle : ScalarFunction|string
Return values
selfequals()
public
equals(mixed $ref) : self
Parameters
- $ref : mixed
Return values
selfexists()
public
exists() : self
Return values
selfexpand()
Expands each value into entry, if there are more than one value, multiple rows will be created.
public
expand([ArrayExpand $expand = ArrayExpand::VALUES ]) : self
Array keys are ignored, only values are used to create new rows.
Before: +--+-------------------+ |id| array| +--+-------------------+ | 1|{"a":1,"b":2,"c":3}| +--+-------------------+
After: +--+--------+ |id|expanded| +--+--------+ | 1| 1| | 1| 2| | 1| 3| +--+--------+
Parameters
- $expand : ArrayExpand = ArrayExpand::VALUES
Return values
selfgreaterThan()
public
greaterThan(mixed $ref) : self
Parameters
- $ref : mixed
Return values
selfgreaterThanEqual()
public
greaterThanEqual(mixed $ref) : self
Parameters
- $ref : mixed
Return values
selfhash()
public
hash([Algorithm $algorithm = new NativePHPHash() ]) : self
Parameters
- $algorithm : Algorithm = new NativePHPHash()
Return values
selfindexOf()
Returns the index of given $needle in string.
public
indexOf(ScalarFunction|string $needle[, ScalarFunction|bool $ignoreCase = false ][, ScalarFunction|int $offset = 0 ]) : self
Parameters
- $needle : ScalarFunction|string
- $ignoreCase : ScalarFunction|bool = false
- $offset : ScalarFunction|int = 0
Return values
selfisEven()
public
isEven() : self
Return values
selfisFalse()
public
isFalse() : self
Return values
selfisIn()
public
isIn(ScalarFunction|array<string|int, mixed> $haystack) : self
Parameters
- $haystack : ScalarFunction|array<string|int, mixed>
Return values
selfisNotNull()
public
isNotNull() : self
Return values
selfisNotNumeric()
public
isNotNumeric() : self
Return values
selfisNull()
public
isNull() : self
Return values
selfisNumeric()
public
isNumeric() : self
Return values
selfisOdd()
public
isOdd() : self
Return values
selfisTrue()
public
isTrue() : self
Return values
selfisType()
public
isType(string|Type<string|int, mixed> ...$types) : self
Parameters
- $types : string|Type<string|int, mixed>
Return values
selfisUtf8()
Check string is utf8 and returns true or false.
public
isUtf8() : IsUtf8
Return values
IsUtf8jsonDecode()
public
jsonDecode([ScalarFunction|int $flags = JSON_THROW_ON_ERROR ]) : self
Parameters
- $flags : ScalarFunction|int = JSON_THROW_ON_ERROR
Return values
selfjsonEncode()
public
jsonEncode([ScalarFunction|int $flags = JSON_THROW_ON_ERROR ]) : self
Parameters
- $flags : ScalarFunction|int = JSON_THROW_ON_ERROR
Return values
selflessThan()
public
lessThan(mixed $ref) : self
Parameters
- $ref : mixed
Return values
selflessThanEqual()
public
lessThanEqual(ScalarFunction $ref) : self
Parameters
- $ref : ScalarFunction
Return values
selfliteral()
public
literal(mixed $value) : self
Parameters
- $value : mixed
Return values
selflower()
public
lower() : self
Return values
selfminus()
public
minus(ScalarFunction|int|float $ref) : self
Parameters
- $ref : ScalarFunction|int|float
Return values
selfmod()
public
mod(ScalarFunction|int $value) : self
Parameters
- $value : ScalarFunction|int
Return values
selfmodifyDateTime()
public
modifyDateTime(string|ScalarFunction $modifier) : self
Parameters
- $modifier : string|ScalarFunction
Return values
selfmultiply()
public
multiply(ScalarFunction|int|float $value) : self
Parameters
- $value : ScalarFunction|int|float
Return values
selfnotEquals()
public
notEquals(mixed $value) : self
Parameters
- $value : mixed
Return values
selfnotSame()
public
notSame(mixed $value) : self
Parameters
- $value : mixed
Return values
selfnumberFormat()
public
numberFormat([ScalarFunction|int $decimals = 2 ][, ScalarFunction|string $decimalSeparator = '.' ][, ScalarFunction|string $thousandsSeparator = ',' ]) : self
Parameters
- $decimals : ScalarFunction|int = 2
- $decimalSeparator : ScalarFunction|string = '.'
- $thousandsSeparator : ScalarFunction|string = ','
Return values
selfonEach()
Execute a scalar function on each element of an array/list/map/structure entry.
public
onEach(ScalarFunction $function[, ScalarFunction|bool $preserveKeys = true ]) : OnEach
In order to use this function, you need to provide a reference to the "element" that will be used in the function.
Example: $df->withEntry('array', ref('array')->onEach(ref('element')->cast(type_string())))
Parameters
- $function : ScalarFunction
- $preserveKeys : ScalarFunction|bool = true
Return values
OnEachor()
public
or(ScalarFunction $function) : Any
Parameters
- $function : ScalarFunction
Return values
AnyorNot()
public
orNot(ScalarFunction $function) : Any
Parameters
- $function : ScalarFunction
Return values
Anyplus()
public
plus(ScalarFunction|int|float $ref) : self
Parameters
- $ref : ScalarFunction|int|float
Return values
selfpower()
public
power(ScalarFunction|int $value) : self
Parameters
- $value : ScalarFunction|int
Return values
selfregex()
public
regex(ScalarFunction|string $pattern[, ScalarFunction|int $flags = 0 ][, ScalarFunction|int $offset = 0 ]) : self
Parameters
- $pattern : ScalarFunction|string
- $flags : ScalarFunction|int = 0
- $offset : ScalarFunction|int = 0
Return values
selfregexAll()
public
regexAll(ScalarFunction|string $pattern[, ScalarFunction|int $flags = 0 ][, ScalarFunction|int $offset = 0 ]) : RegexAll
Parameters
- $pattern : ScalarFunction|string
- $flags : ScalarFunction|int = 0
- $offset : ScalarFunction|int = 0
Return values
RegexAllregexMatch()
public
regexMatch(ScalarFunction|string $pattern[, ScalarFunction|int $flags = 0 ][, ScalarFunction|int $offset = 0 ]) : self
Parameters
- $pattern : ScalarFunction|string
- $flags : ScalarFunction|int = 0
- $offset : ScalarFunction|int = 0
Return values
selfregexMatchAll()
public
regexMatchAll(ScalarFunction|string $pattern[, ScalarFunction|int $flags = 0 ][, ScalarFunction|int $offset = 0 ]) : self
Parameters
- $pattern : ScalarFunction|string
- $flags : ScalarFunction|int = 0
- $offset : ScalarFunction|int = 0
Return values
selfregexReplace()
public
regexReplace(ScalarFunction|string $pattern, ScalarFunction|string $replacement[, ScalarFunction|int|null $limit = null ]) : self
Parameters
- $pattern : ScalarFunction|string
- $replacement : ScalarFunction|string
- $limit : ScalarFunction|int|null = null
Return values
selfround()
public
round([ScalarFunction|int $precision = 2 ][, ScalarFunction|int $mode = PHP_ROUND_HALF_UP ]) : self
Parameters
- $precision : ScalarFunction|int = 2
- $mode : ScalarFunction|int = PHP_ROUND_HALF_UP
Return values
selfsame()
public
same(mixed $value) : self
Parameters
- $value : mixed
Return values
selfsanitize()
public
sanitize([ScalarFunction|string $placeholder = '*' ][, ScalarFunction|int|null $skipCharacters = null ]) : self
Parameters
- $placeholder : ScalarFunction|string = '*'
- $skipCharacters : ScalarFunction|int|null = null
Return values
selfsize()
public
size() : self
Return values
selfslug()
public
slug([ScalarFunction|string $separator = '-' ][, ScalarFunction|string|null $locale = null ][, ScalarFunction|array<string|int, mixed>|null $symbolsMap = null ]) : self
Parameters
- $separator : ScalarFunction|string = '-'
- $locale : ScalarFunction|string|null = null
- $symbolsMap : ScalarFunction|array<string|int, mixed>|null = null
Return values
selfsplit()
public
split(ScalarFunction|string $separator[, ScalarFunction|int $limit = PHP_INT_MAX ]) : self
Parameters
- $separator : ScalarFunction|string
- $limit : ScalarFunction|int = PHP_INT_MAX
Return values
selfsprintf()
public
sprintf(ScalarFunction|float|int|string|null ...$params) : self
Parameters
- $params : ScalarFunction|float|int|string|null
Return values
selfstartsWith()
public
startsWith(ScalarFunction|string $needle) : self
Parameters
- $needle : ScalarFunction|string
Return values
selfstringAfter()
Returns the contents found after the first occurrence of the given string.
public
stringAfter(ScalarFunction|string $needle[, ScalarFunction|bool $includeNeedle = false ]) : self
Parameters
- $needle : ScalarFunction|string
- $includeNeedle : ScalarFunction|bool = false
Return values
selfstringAfterLast()
Returns the contents found after the last occurrence of the given string.
public
stringAfterLast(ScalarFunction|string $needle[, ScalarFunction|bool $includeNeedle = false ]) : self
Parameters
- $needle : ScalarFunction|string
- $includeNeedle : ScalarFunction|bool = false
Return values
selfstringBefore()
Returns the contents found before the first occurrence of the given string.
public
stringBefore(ScalarFunction|string $needle[, ScalarFunction|bool $includeNeedle = false ]) : self
Parameters
- $needle : ScalarFunction|string
- $includeNeedle : ScalarFunction|bool = false
Return values
selfstringBeforeLast()
Returns the contents found before the last occurrence of the given string.
public
stringBeforeLast(ScalarFunction|string $needle[, ScalarFunction|bool $includeNeedle = false ]) : self
Parameters
- $needle : ScalarFunction|string
- $includeNeedle : ScalarFunction|bool = false
Return values
selfstringFold()
Returns a string that you can use in case-insensitive comparisons.
public
stringFold() : self
Return values
selfstringStyle()
Covert string to a style from enum list, passed in parameter.
public
stringStyle(ScalarFunction|string|StringStyles $style) : self
Can be string "upper" or StringStyles::UPPER for Upper (example).
Parameters
- $style : ScalarFunction|string|StringStyles
Return values
selfstringTitle()
Changes all graphemes/code points to "title case".
public
stringTitle([ScalarFunction|bool $allWords = false ]) : self
Parameters
- $allWords : ScalarFunction|bool = false
Return values
selfstrPad()
public
strPad(int $length[, string $pad_string = ' ' ][, int $type = STR_PAD_RIGHT ]) : self
Parameters
- $length : int
- $pad_string : string = ' '
- $type : int = STR_PAD_RIGHT
Return values
selfstrPadBoth()
public
strPadBoth(int $length[, string $pad_string = ' ' ]) : self
Parameters
- $length : int
- $pad_string : string = ' '
Return values
selfstrPadLeft()
public
strPadLeft(int $length[, string $pad_string = ' ' ]) : self
Parameters
- $length : int
- $pad_string : string = ' '
Return values
selfstrPadRight()
public
strPadRight(int $length[, string $pad_string = ' ' ]) : self
Parameters
- $length : int
- $pad_string : string = ' '
Return values
selfstrReplace()
public
strReplace(array<string|int, string>|ScalarFunction|string $search, array<string|int, string>|ScalarFunction|string $replace) : self
Parameters
- $search : array<string|int, string>|ScalarFunction|string
- $replace : array<string|int, string>|ScalarFunction|string
Return values
selftoDate()
public
toDate([ScalarFunction|string $format = DateTimeInterface::RFC3339 ][, ScalarFunction|DateTimeZone $timeZone = new DateTimeZone('UTC') ]) : self
Parameters
- $format : ScalarFunction|string = DateTimeInterface::RFC3339
-
- current format of the date that will be used to create DateTimeImmutable instance
- $timeZone : ScalarFunction|DateTimeZone = new DateTimeZone('UTC')
Return values
selftoDateTime()
public
toDateTime([ScalarFunction|string $format = 'Y-m-d H:i:s' ][, DateTimeZone|ScalarFunction $timeZone = new DateTimeZone('UTC') ]) : self
Parameters
- $format : ScalarFunction|string = 'Y-m-d H:i:s'
-
- current format of the date that will be used to create DateTimeImmutable instance
- $timeZone : DateTimeZone|ScalarFunction = new DateTimeZone('UTC')
Return values
selftrim()
public
trim([Type $type = TrimType::BOTH ][, string $characters = "
" ]) : self
Parameters
- $type : Type = TrimType::BOTH
- $characters : string = " "
Return values
selfunpack()
Unpacks each element of an array into a new entry, using the array key as the entry name.
public
unpack([ScalarFunction|array<string|int, mixed> $skipKeys = [] ][, ScalarFunction|string|null $entryPrefix = null ]) : self
Before: +--+-------------------+ |id| array| +--+-------------------+ | 1|{"a":1,"b":2,"c":3}| | 2|{"d":4,"e":5,"f":6}| +--+-------------------+
After: +--+-----+-----+-----+-----+-----+ |id|arr.b|arr.c|arr.d|arr.e|arr.f| +--+-----+-----+-----+-----+-----+ | 1| 2| 3| | | | | 2| | | 4| 5| 6| +--+-----+-----+-----+-----+-----+
Parameters
- $skipKeys : ScalarFunction|array<string|int, mixed> = []
- $entryPrefix : ScalarFunction|string|null = null
Return values
selfupper()
public
upper() : self
Return values
selfxpath()
public
xpath(string $string) : self
Parameters
- $string : string