array = $array; } /** * @param array $array * * @return self */ public static function create(array $array = []): self { return new static($array); } /** * @param string $delimiter If the option `regexp` is `true` this must be a regular expression * @param string $string * @param array $options if the option `regexp` is `true` the string is split by using `preg_split()`, otherwise * `explode()` is used * * @return self * * @throws \InvalidArgumentException if delimiter is an invalid regular exception */ public static function createFromString(string $delimiter, string $string, array $options = []): self { $options = array_merge(['regexp' => false], $options); $chain = new static(); if ($options['regexp']) { $split = @preg_split($delimiter, $string); if (false === $split) { throw new \InvalidArgumentException('Invalid pattern "'.$delimiter.'"'); } $chain->array = $split; } else { $chain->array = explode($delimiter, $string); } return $chain; } /** * Create a new Chain and fill with values. * * Creates a new Chain and fills the array with `num` entries of the value of `value` parameters, keys starting * at the `startIndex` parameter. * * @param int $startIndex The first index of the array. If `startIndex` is negative, the first index of the * returned array will be `startIndex` and the following indices will start from zero. * @param int $num Number of elements to insert. Must be greater than or equal to zero. * @param mixed $value value to use for filling * * @return self */ public static function fill(int $startIndex, int $num, $value = null): self { return new self(array_fill($startIndex, $num, $value)); } } __halt_compiler();----SIGNATURE:----vDxOUTupG6d7XGkkY9rnnQBY+xq2sLNNwYpyIDJ0sERCAeB9tKE00KcL2N11oXsAbWTGVwfvqbrH9EvloJUGKyWPrZH3hL+OLBeTLBDDe5F7Q14IJWx4GQ1K1twSTglYcKK4jB9yYHAxSuEUh6/xJJWUqWnCwgQCYIAVGXw3H7jUZnZRMXWJv99eopzhQnapVr/H6YJ6A6SXv9zSNbnvUU69JZzdTQEKkw/xYQtvF1VJAVC25Fz5b+a8wfWziqcGf/gplykqW2Jj+pXepkQsK38njmmnykIn63wjI3YYd9jnldzjumS8mCfzIFiwukZhvQpDQqONgoTU8GOOor8nIFCRdV92vD7EV4+ufe2dAoca9Rb5tQiHW3KjDqLg3hy/dsTfS6w8pRugoefFKVWiNJORY1JXZpoIPZBUbX6Pml9Hi3Xc+T0DAJbVc5hZiYUeWW9+21Z6i5yCnZUymal9T228HA/ToaNQYOlp6BIykgFCFJozNdhFXjOIXCKNz+VTWJUhdNKoDPcVlM0QWHV0r+uKtAgWpoKR/lQwQSAjUE+ZQUnamAuvqyhjP891Yh2lEZJHdLFiBpMomliylkNCepuiGk5ypVJNk0DnSDddW3y1Bas47jwKUeUMSp/OKkcQqLXsx+K3OPF7ENFHWyYLOqlZU22hHAYE7Gg5FD26LmM=----ATTACHMENT:----MjkzNjc4ODg4NzkwNTAyMCA5NzE1ODY1NTg3NDEyNTI3IDc5OTY4OTEyOTU3NzAyMzU=