ArrayObject::offsetSet

(PHP 5, PHP 7)

ArrayObject::offsetSetSets the value at the specified index to newval

Description

public ArrayObject::offsetSet ( mixed $index , mixed $newval ) : void

Sets the value at the specified index to newval.

Parameters

index

The index being set.

newval

The new value for the index.

Return Values

No value is returned.

Examples

Example #1 ArrayObject::offsetSet() example

<?php
class Example {
    public 
$property 'prop:public';
}
$arrayobj = new ArrayObject(new Example());
$arrayobj->offsetSet(4'four');
$arrayobj->offsetSet('group', array('g1''g2'));
var_dump($arrayobj);

$arrayobj = new ArrayObject(array('zero','one'));
$arrayobj->offsetSet(null'last');
var_dump($arrayobj);
?>

The above example will output:

object(ArrayObject)#1 (3) {
  ["property"]=>
  string(11) "prop:public"
  [4]=>
  string(4) "four"
  ["group"]=>
  array(2) {
    [0]=>
    string(2) "g1"
    [1]=>
    string(2) "g2"
  }
}
object(ArrayObject)#3 (3) {
  [0]=>
  string(4) "zero"
  [1]=>
  string(3) "one"
  [2]=>
  string(4) "last"
}

See Also

add a note add a note

User Contributed Notes 2 notes

up
3
n dot lenepveu at gmail dot com
11 years ago
If $index is null, $newval is naturally pushed onto the end of the array as ArrayObject::append
up
1
jerikojerk
8 years ago
On my php 5.3.5 installation, i discovered that value can be set by reference and not by copy ... depending the context..

so this is différent from what a regular array()

<?php

function set(&$x, &$a )
{
   
$x[] = $a;
}

$x = new ArrayObject();
$y = array();
$z = new ArrayObject();

$a =  array( 'foo' );
set($y,$a);
set($x,$a);
$z[]=$a;

$a = array( 'bar');

set($x,$a);
set($y,$a);
$z[]=$a;

print_r($x);
print_r($y);
print_r($z);
?>

// output
ArrayObject Object
(
    [storage:ArrayObject:private] => Array
        (
            [0] => Array
                (
                    [0] => bar
                )

            [1] => Array
                (
                    [0] => bar
                )

        )

)
Array
(
    [0] => Array
        (
            [0] => foo
        )

    [1] => Array
        (
            [0] => bar
        )

)
ArrayObject Object
(
    [storage:ArrayObject:private] => Array
        (
            [0] => Array
                (
                    [0] => bar
                )

            [1] => Array
                (
                    [0] => bar
                )

        )

)
To Top