downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

ArrayObject::getFlags> <ArrayObject::exchangeArray
[edit] Last updated: Fri, 25 May 2012

view this page in

ArrayObject::getArrayCopy

(PHP 5 >= 5.0.0)

ArrayObject::getArrayCopyCrée une copie de l'objet ArrayObject

Description

public array ArrayObject::getArrayCopy ( void )

Exporte l'objet ArrayObject vers un tableau.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne une copie du tableau. Lorsque l'objet ArrayObject est un objet, le tableau retourné contient les propriétés publiques de cet objet.

Exemples

Exemple #1 Exemple avec ArrayObject::getArrayCopy()

<?php
// Liste de fruits
$fruits = array("citrons" => 1"oranges" => 4"bananes" => 5"pommes" => 10);

$fruitsArrayObject = new ArrayObject($fruits);
$fruitsArrayObject['poires'] = 4;

// Crée un copie des tableaux
$copy $fruitsArrayObject->getArrayCopy();
print_r($copy);

?>

L'exemple ci-dessus va afficher :

Array
(
    [citrons] => 1
    [oranges] => 4
    [bananes] => 5
    [pommes] => 10
    [poires] => 4
)



add a note add a note User Contributed Notes ArrayObject::getArrayCopy
Ivo von Putzer 05-Dec-2011 05:06
If you did something like this to make your constructor multidimensional capable you will have some trouble using getArrayCopy to get a plain array straight out of the method:
<?php
public function __construct( $array = array(), $flags = 2 )
{
   
// let’s give the objects the right and not the inherited name
   
$class = get_class($this);

    foreach(
$array as $offset => $value)
       
$this->offsetSet($offset, is_array($value) ? new $class($value) : $value);

   
$this->setFlags($flags);
}
?>

That’s the way I solved it:

<?php
public function getArray($recursion = false)
{
   
// just in case the object might be multidimensional
   
if ( $this === true)
        return
$this->getArrayCopy();

    return
array_map( function($item){
        return
is_object($item) ? $item->getArray(true) : $item;
    },
$this->getArrayCopy() );
}
?>

Hope this was useful!

 
show source | credits | stats | sitemap | contact | advertising | mirror sites