fork download
  1. <?php
  2.  
  3. // your code goes here
  4.  
  5. class X
  6. {
  7. public $a;
  8. public function __construct($a) { $this->a = $a; }
  9.  
  10. public static function f($list, $a)
  11. {
  12. foreach ($list as $index => $v) {
  13. if ($index === 2) {
  14. $v->a = $a;
  15. }
  16. }
  17.  
  18. return $list;
  19. }
  20. }
  21.  
  22. $list = [
  23. new X(1),
  24. new X(2),
  25. new X(3),
  26. ];
  27.  
  28. var_dump($list);
  29.  
  30. $modifiedList = X::f($list, 10);
  31.  
  32. var_dump($list);
  33. var_dump($modifiedList);
Success #stdin #stdout 0.03s 25496KB
stdin
Standard input is empty
stdout
array(3) {
  [0]=>
  object(X)#1 (1) {
    ["a"]=>
    int(1)
  }
  [1]=>
  object(X)#2 (1) {
    ["a"]=>
    int(2)
  }
  [2]=>
  object(X)#3 (1) {
    ["a"]=>
    int(3)
  }
}
array(3) {
  [0]=>
  object(X)#1 (1) {
    ["a"]=>
    int(1)
  }
  [1]=>
  object(X)#2 (1) {
    ["a"]=>
    int(2)
  }
  [2]=>
  object(X)#3 (1) {
    ["a"]=>
    int(10)
  }
}
array(3) {
  [0]=>
  object(X)#1 (1) {
    ["a"]=>
    int(1)
  }
  [1]=>
  object(X)#2 (1) {
    ["a"]=>
    int(2)
  }
  [2]=>
  object(X)#3 (1) {
    ["a"]=>
    int(10)
  }
}