Supported Versions: PHP 4, PHP 5, PHP 7, PHP 8
                                                    Join array elements with a string
                                            
                                                                <?php implode(string $separator, array $array): string
    <?php         $tmp = $this->describe($test);
        if ($tmp[0] !== '') {
            $name = implode('::', $tmp);
        } else {
            $name = $tmp[1];
        }
    <?php             return;
        }
        $messages = implode(PHP_EOL, array_map(static fn (string $message): string => '- $message', $this->__snapshotChanges));
        $this->markTestIncomplete($messages);
    }
    <?php             "A test with the description '%s' has %d argument(s) ([%s]) and no dataset(s) provided in %s",
            $name,
            count($arguments),
            implode(', ', array_map(static fn (string $arg, string $type): string => sprintf('%s $%s', $type, $arg), array_keys($arguments), $arguments)),
            $file,
        ));
    }
    <?php     public static function fromMethods(array $methods): never
    {
        throw new self(sprintf('Expectation [%s] is not valid.', implode('->', $methods)));
    }
}
    <?php             $this,
            fn (ObjectDescription $object): bool => count($interfaces) === count($object->reflectionClass->getInterfaceNames())
                && array_diff($interfaces, $object->reflectionClass->getInterfaceNames()) === [],
            "to only implement '".implode("', '", $interfaces)."'",
            FileLineFinder::where(fn (string $line): bool => str_contains($line, 'class')),
        );
    }
    <?php                 return true;
            },
            "to implement '".implode("', '", $interfaces)."'",
            FileLineFinder::where(fn (string $line): bool => str_contains($line, 'class')),
        );
    }
    <?php                 return true;
            },
            "not to implement '".implode("', '", $interfaces)."'",
            FileLineFinder::where(fn (string $line): bool => str_contains($line, 'class')),
        );
    }
    <?php             'Expecting %s not %s %s.',
            $toString($this->original->value),
            strtolower((string) preg_replace('/(?<!\ )[A-Z]/', ' $0', $name)),
            implode(' ', array_map(fn (mixed $argument): string => $toString($argument), $arguments)),
        ));
    }
    <?php         }
        $hasPrintableTestCaseClassFQN = sprintf('\%s', HasPrintableTestCaseName::class);
        $traitsCode = sprintf('use %s;', implode(', ', array_map(
            static fn (string $trait): string => sprintf('\%s', $trait), $this->traits))
        );
        $partsFQN = explode('\\', $classFQN);
    <?php         $partsFQN = explode('\\', $classFQN);
        $className = array_pop($partsFQN);
        $namespace = implode('\\', $partsFQN);
        $baseClass = sprintf('\%s', $this->class);
        if (trim($className) === '') {
    <?php             );
        }
        $methodsCode = implode('', array_map(
            fn (TestCaseMethodFactory $methodFactory): string => $methodFactory->buildForEvaluation(
                self::ANNOTATIONS,
                $methodAvailableAttributes
            ),
            $methods
        ));
        $classAttributesCode = implode('', array_map(
            static fn (string $attribute): string => sprintf("\n%s", $attribute),
    <?php             $methods
        ));
        $classAttributesCode = implode('', array_map(
            static fn (string $attribute): string => sprintf("\n%s", $attribute),
            array_unique($classAttributes),
        ));
        try {
            $classCode = <<<PHP
    <?php             $datasetsCode = $this->buildDatasetForEvaluation($methodName, $dataProviderName);
        }
        $annotations = implode('', array_map(
            static fn (string $annotation): string => sprintf("\n     * %s", $annotation), $annotations,
        ));
        $attributes = implode('', array_map(
            static fn (string $attribute): string => sprintf("\n        %s", $attribute), $attributes,
    <?php             static fn (string $annotation): string => sprintf("\n     * %s", $annotation), $annotations,
        ));
        $attributes = implode('', array_map(
            static fn (string $attribute): string => sprintf("\n        %s", $attribute), $attributes,
        ));
        return <<<PHP
    <?php         View::renderUsing($this->output);
        if ($this->isOpeningHeadline($this->buffer)) {
            $this->buffer = implode(PHP_EOL, array_slice(explode(PHP_EOL, $this->buffer), 2));
        }
        $type = 'INFO';