[ create a new paste ] login | about

Link: http://codepad.org/fG7Rs5TA    [ raw code | output | fork ]

PHP, pasted on Jan 12:
<?php

function byCopy($args) 
{
    echo "\nBegin byCopy function\n";
    foreach ($args as $key => $value) {
        echo "\t\$args['$key'] => $value\n";
    }

    $args['edit'] = true;
    echo "End byCopy function\n\n";
}

function byReference(&$args)
{
    echo "\nBegin byReference function\n";
    foreach ($args as $key => $value) {
        echo "\t\$args['$key'] => $value\n";
    }

    $args['edit'] = true;
    echo "End byReference function\n\n";
}

$args = array('container' => 'div', 'limit' => 12, 'container_class' => 'main');

echo "Dump original array\n";
var_dump($args);

echo "\nUse byCopy function\n";
byCopy($args);

echo "Dump array after byCopy function\n";
var_dump($args);

echo "\nUse byReference function\n";
byReference($args);

echo "Dump array after byReference function\n";
var_dump($args);

?>


Output:
Dump original array
array(3) {
  ["container"]=>
  string(3) "div"
  ["limit"]=>
  int(12)
  ["container_class"]=>
  string(4) "main"
}

Use byCopy function

Begin byCopy function
	$args['container'] => div
	$args['limit'] => 12
	$args['container_class'] => main
End byCopy function

Dump array after byCopy function
array(3) {
  ["container"]=>
  string(3) "div"
  ["limit"]=>
  int(12)
  ["container_class"]=>
  string(4) "main"
}

Use byReference function

Begin byReference function
	$args['container'] => div
	$args['limit'] => 12
	$args['container_class'] => main
End byReference function

Dump array after byReference function
array(4) {
  ["container"]=>
  string(3) "div"
  ["limit"]=>
  int(12)
  ["container_class"]=>
  string(4) "main"
  ["edit"]=>
  bool(true)
}


Create a new paste based on this one


Comments: