Merge pull request #15 from zoujingli/codex/select-important-code-and-fix-bug

Trim inputs and enable strict checks in str2arr/arr2str; preserve trimmed values
This commit is contained in:
邹景立 2026-03-04 13:53:18 +08:00 committed by GitHub
commit 0db0d53f76
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -201,8 +201,9 @@ if (!function_exists('str2arr')) {
{
$items = [];
foreach (explode($separ, trim($text, $separ)) as $item) {
if ($item !== '' && (!is_array($allow) || in_array($item, $allow))) {
$items[] = trim($item);
$item = trim($item);
if ($item !== '' && (!is_array($allow) || in_array($item, $allow, true))) {
$items[] = $item;
}
}
return $items;
@ -218,8 +219,11 @@ if (!function_exists('arr2str')) {
function arr2str(array $data, string $separ = ',', ?array $allow = null): string
{
foreach ($data as $key => $item) {
if ($item === '' || (is_array($allow) && !in_array($item, $allow))) {
$item = is_string($item) ? trim($item) : $item;
if ($item === '' || (is_array($allow) && !in_array($item, $allow, true))) {
unset($data[$key]);
} else {
$data[$key] = $item;
}
}
return $separ . join($separ, $data) . $separ;