Arrays.flatten().phpt 521 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <?php
  2. /**
  3. * Test: Nette\Utils\Arrays::flatten()
  4. */
  5. declare(strict_types=1);
  6. use Nette\Utils\Arrays;
  7. use Tester\Assert;
  8. require __DIR__ . '/../bootstrap.php';
  9. $res = Arrays::flatten([
  10. 2 => ['a', ['b']],
  11. 4 => ['c', 'd'],
  12. 'e',
  13. ]);
  14. Assert::same([
  15. 0 => 'a',
  16. 1 => 'b',
  17. 2 => 'c',
  18. 3 => 'd',
  19. 4 => 'e',
  20. ], $res);
  21. $res = Arrays::flatten([
  22. 5 => 'a',
  23. 10 => [
  24. 'z' => 'b',
  25. 1 => 'c',
  26. ],
  27. 'y' => 'd',
  28. 'z' => 'e',
  29. ], preserveKeys: true);
  30. Assert::same([
  31. 5 => 'a',
  32. 'z' => 'e',
  33. 1 => 'c',
  34. 'y' => 'd',
  35. ], $res);