Guest User

Untitled

a guest
May 22nd, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.43 KB | None | 0 0
  1. $data['x'] = $this->x->getResults();
  2.  
  3. $data['y'] = $data['x'];
  4.  
  5. //some code here to modify $data['y']
  6. //this causes (undesirably) $data['x] to be modified as well
  7.  
  8. $data['x'] = $this->x->getResults();
  9. $data['y'] = $data['y'];
  10. foreach($data['x'] as $key=>$row) {
  11. $data['y'][$key]->some_attr = clone $row->some_attr;
  12. }
  13.  
  14. $data['y'][$key] = clone $row;
  15.  
  16. $x = 'x';
  17. $y = 'y';
  18. $arr = array(&$x,&$y);
  19. print_r($arr);
  20.  
  21. echo "<br/>";
  22. $arr2 = $arr;
  23. $arr2[0] = 'zzz';
  24. print_r($arr);
  25. print_r($arr2);
  26.  
  27. echo "<br/>";
  28. $arr2 = array_flip(array_flip($arr));
  29. $arr2[0] = '123';
  30. print_r($arr);
  31. print_r($arr2);
  32.  
  33. array_flip()
  34.  
  35. $data['x'] = array_flip(array_flip($this->x->getResults()));
  36. $data['y'] = $data['x'];
  37.  
  38. $data['x'] = $this->x->getResults();
  39. $data['y'] = array();
  40. foreach($data['x'] as $key => $obj) {
  41. $data['y'][$key] = clone $obj;
  42. }
  43.  
  44. $v=11;
  45. $arr[]=&$v;
  46.  
  47. $data['x'] = array(
  48. 'a' => 'test',
  49. 'b' => 'glop',
  50. );
  51. $data['y'] = $data['x'];
  52. $data['y'][0] = 'Hello, world!';
  53. var_dump($data['x']); // a => test : no problem with arrays
  54.  
  55. $data['x'] = (object)array(
  56. 'a' => 'test',
  57. 'b' => 'glop',
  58. );
  59. $data['y'] = $data['x'];
  60. $data['y']->a = 'Hello, world!';
  61. var_dump($data['x']); // a => Hello, world! : objects are by ref
  62.  
  63. $data['x'] = (object)array(
  64. 'a' => 'test',
  65. 'b' => 'glop',
  66. );
  67. $data['y'] = clone $data['x'];
  68. $data['y']->a = 'Hello, world!';
  69. var_dump($data['x']); // a => test : no ref, because of cloning
Add Comment
Please, Sign In to add comment