Skip to content

Commit 9dde626

Browse files
committed
Fix array to string conversion error in formatValueForMessage
1 parent 5507d70 commit 9dde626

File tree

1 file changed

+18
-1
lines changed

1 file changed

+18
-1
lines changed

src/Setting.php

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -435,7 +435,24 @@ private function formatValueForMessage($value): string
435435
}
436436

437437
if (is_array($value)) {
438-
return '[' . implode(', ', array_slice($value, 0, 3)) . (count($value) > 3 ? '...' : '') . ']';
438+
$items = array_slice($value, 0, 3);
439+
$formattedItems = [];
440+
441+
foreach ($items as $item) {
442+
if (is_array($item)) {
443+
$formattedItems[] = '[array]';
444+
} elseif (is_object($item)) {
445+
$formattedItems[] = '[object]';
446+
} elseif (is_string($item) && strlen($item) > 20) {
447+
$formattedItems[] = '"' . substr($item, 0, 17) . '..."';
448+
} elseif (is_string($item)) {
449+
$formattedItems[] = '"' . $item . '"';
450+
} else {
451+
$formattedItems[] = (string) $item;
452+
}
453+
}
454+
455+
return '[' . implode(', ', $formattedItems) . (count($value) > 3 ? '...' : '') . ']';
439456
}
440457

441458
if (is_object($value)) {

0 commit comments

Comments
 (0)