Welcome to the Cookbook

loading...

8.5.15 format

array Set::format ($data, $format, $keys)

Returns a series of values extracted from an array, formatted in a format string.

$data = array(
	array('Person' => array('first_name' => 'Nate', 'last_name' => 'Abele', 'city' => 'Boston', 'state' => 'MA', 'something' => '42')),
	array('Person' => array('first_name' => 'Larry', 'last_name' => 'Masters', 'city' => 'Boondock', 'state' => 'TN', 'something' => '{0}')),
	array('Person' => array('first_name' => 'Garrett', 'last_name' => 'Woodworth', 'city' => 'Venice Beach', 'state' => 'CA', 'something' => '{1}')));

$res = Set::format($data, '{1}, {0}', array('{n}.Person.first_name', '{n}.Person.last_name'));
/*
Array
(
    [0] => Abele, Nate
    [1] => Masters, Larry
    [2] => Woodworth, Garrett
)
*/

$res = Set::format($data, '{0}, {1}', array('{n}.Person.city', '{n}.Person.state'));
/*
Array
(
    [0] => Boston, MA
    [1] => Boondock, TN
    [2] => Venice Beach, CA
)
*/
$res = Set::format($data, '{{0}, {1}}', array('{n}.Person.city', '{n}.Person.state'));
/*
Array
(
    [0] => {Boston, MA}
    [1] => {Boondock, TN}
    [2] => {Venice Beach, CA}
)
*/
$res = Set::format($data, '{%2$d, %1$s}', array('{n}.Person.something', '{n}.Person.something'));
/*
Array
(
    [0] => {42, 42}
    [1] => {0, {0}}
    [2] => {0, {1}}
)
*/
$res = Set::format($data, '%2$d, %1$s', array('{n}.Person.first_name', '{n}.Person.something'));
/*
Array
(
    [0] => 42, Nate
    [1] => 0, Larry
    [2] => 0, Garrett
)
*/
$res = Set::format($data, '%1$s, %2$d', array('{n}.Person.first_name', '{n}.Person.something'));
/*
Array
(
    [0] => Nate, 42
    [1] => Larry, 0
    [2] => Garrett, 0
)
*/
  1. $data = array(
  2. array('Person' => array('first_name' => 'Nate', 'last_name' => 'Abele', 'city' => 'Boston', 'state' => 'MA', 'something' => '42')),
  3. array('Person' => array('first_name' => 'Larry', 'last_name' => 'Masters', 'city' => 'Boondock', 'state' => 'TN', 'something' => '{0}')),
  4. array('Person' => array('first_name' => 'Garrett', 'last_name' => 'Woodworth', 'city' => 'Venice Beach', 'state' => 'CA', 'something' => '{1}')));
  5. $res = Set::format($data, '{1}, {0}', array('{n}.Person.first_name', '{n}.Person.last_name'));
  6. /*
  7. Array
  8. (
  9. [0] => Abele, Nate
  10. [1] => Masters, Larry
  11. [2] => Woodworth, Garrett
  12. )
  13. */
  14. $res = Set::format($data, '{0}, {1}', array('{n}.Person.city', '{n}.Person.state'));
  15. /*
  16. Array
  17. (
  18. [0] => Boston, MA
  19. [1] => Boondock, TN
  20. [2] => Venice Beach, CA
  21. )
  22. */
  23. $res = Set::format($data, '{{0}, {1}}', array('{n}.Person.city', '{n}.Person.state'));
  24. /*
  25. Array
  26. (
  27. [0] => {Boston, MA}
  28. [1] => {Boondock, TN}
  29. [2] => {Venice Beach, CA}
  30. )
  31. */
  32. $res = Set::format($data, '{%2$d, %1$s}', array('{n}.Person.something', '{n}.Person.something'));
  33. /*
  34. Array
  35. (
  36. [0] => {42, 42}
  37. [1] => {0, {0}}
  38. [2] => {0, {1}}
  39. )
  40. */
  41. $res = Set::format($data, '%2$d, %1$s', array('{n}.Person.first_name', '{n}.Person.something'));
  42. /*
  43. Array
  44. (
  45. [0] => 42, Nate
  46. [1] => 0, Larry
  47. [2] => 0, Garrett
  48. )
  49. */
  50. $res = Set::format($data, '%1$s, %2$d', array('{n}.Person.first_name', '{n}.Person.something'));
  51. /*
  52. Array
  53. (
  54. [0] => Nate, 42
  55. [1] => Larry, 0
  56. [2] => Garrett, 0
  57. )
  58. */