Guest User

Untitled

a guest
Oct 21st, 2017
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.42 KB | None | 0 0
  1. ## Collections
  2.  
  3. ### - Map
  4.  
  5. Map recorrer un objeto o array y retornar el campo definido en `$func` en este proceso si se requiere se puede aplicar una operación a ese campo y despues retornarlo.(Transforma una array en otro array).
  6.  
  7. | Parametro | Descripción|
  8. |-----------|------------|
  9. | $items | Array |
  10. | $func | La acción a realizar a un item(es una función anonima)|
  11.  
  12. ```php
  13. function map($items, $func)
  14. {
  15. $results = [];
  16. foreach ($items as $item) {
  17. $results[] = $func($item);
  18. }
  19. return $results;
  20. }
  21. ```
  22. Ejemplos:
  23.  
  24. ```php
  25. // 1.-
  26. $customerEmails = map($customers, function ($customer) {
  27. return $customer->email;
  28. });
  29.  
  30. // 2.-
  31. $stockTotals = map($inventoryItems, function ($item) {
  32. return [
  33. 'product' => $item->productName,
  34. 'total_value' => $item->quantity * $item->price,
  35. ];
  36. });
  37.  
  38. // 3.-
  39. $displayPrices = map($prices, function ($price) {
  40. return '$' . number_format($price / 100, 2);
  41. });
  42. ```
  43.  
  44. ### - Each
  45. Each no esta para devolver campos o información. este, esta hecho para realizar acciones sobre los items seleccionados como por ejemplo: `borrar`, `enviar correo`, etc. Reglas a considerar para usar Each:
  46.  
  47. 1. si el callback no retorna nada
  48. 2. No se efectua ninguna operacion con el valor de retorno
  49. 3. Solo intenta realizar una acción sobre cada elemento del Array
  50.  
  51. | Parametro | Descripción|
  52. |-----------|------------|
  53. | $items | Array |
  54. | $func | La acción a realizar a un item(es una función anonima)|
  55.  
  56. ```php
  57. function each($items, $func)
  58. {
  59. foreach ($items as $item) {
  60. $func($item);
  61. }
  62. }
  63. ```
  64.  
  65. Ejemplos:
  66.  
  67. ```php
  68. each($productsToDelete, function ($product) {
  69. $product->delete();
  70. });
  71. ```
  72.  
  73. ### - Filter
  74.  
  75. Como su nombre lo dice, no sirve para filtrar elementos de un Array y al finalizar se genera un Array nuevo. Filter retorna un array con los elementos del array original sin o con los que si aplico el filtro.
  76.  
  77. | Parametro | Descripción|
  78. |-----------|------------|
  79. | $items | Array |
  80. | $func | Funcion que realiza el filtrado(es una función anonima)|
  81.  
  82. ```php
  83. function filter($items, $func)
  84. {
  85. $result = [];
  86. foreach ($items as $item) {
  87. if ($func($item)) {
  88. $result[] = $item;
  89. }
  90. }
  91. return $result;
  92. }
  93. ```
  94.  
  95. ejemplos:
  96.  
  97. ```php
  98. // 1.-
  99. $outOfStockProducts = filter($products, function ($product) {
  100. return $product->isOutOfStock();
  101. });
  102.  
  103. // 2.-
  104. $expensiveProducts = filter($products, function ($product) {
  105. return $product->price > 100;
  106. });
  107. ```
Add Comment
Please, Sign In to add comment