ArrayObject
在线手册:中文  英文

ArrayObject::exchangeArray

(PHP 5 >= 5.1.0)

ArrayObject::exchangeArrayExchange the array for another one.

说明

public array ArrayObject::exchangeArray ( mixed $input )

Exchange the current array with another array or object.

参数

input

The new array or object to exchange with the current array.

返回值

Returns the old array.

范例

Example #1 ArrayObject::exchangeArray() example

<?php
// Array of available fruits
$fruits = array("lemons" => 1"oranges" => 4"bananas" => 5"apples" => 10);
// Array of locations in Europe
$locations = array('Amsterdam''Paris''London');

$fruitsArrayObject = new ArrayObject($fruits);

// Now exchange fruits for locations
$old $fruitsArrayObject->exchangeArray($locations);
print_r($old);
print_r($fruitsArrayObject);

?>

以上例程会输出:

Array
(
    [lemons] => 1
    [oranges] => 4
    [bananas] => 5
    [apples] => 10
)
ArrayObject Object
(
    [0] => Amsterdam
    [1] => Paris
    [2] => London
)


ArrayObject
在线手册:中文  英文

用户评论:

Dmitri Snytkine (2009-12-15 14:11:24)

It seems that input array is always passed by reference.
For example if you have an existing array
$array with some values
then you have an arrayobject $o
and then you do this:
$o->exchangeArray($array);
$o->offsetSet('somekey', 'some value');
Now if you check your $array array, it will have
a key 'somekey' with value of 'some value'
I totally did not expect that, I am sure it was a mistake to pass array by reference by default.

易百教程