ArrayObject::offsetSet

(PHP 5, PHP 7)

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

Opis

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

Sets the value at the specified index to newval.

Parametry

index

The index being set.

newval

The new value for the index.

Zwracane wartości

Nie jest zwracana żadna wartość.

Przykłady

Przykład #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);
?>

Powyższy przykład wyświetli:

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"
}

Zobacz też:

add a note add a note

User Contributed Notes 2 notes

up
3
jerikojerk
12 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
                )

        )

)
up
2
n dot lenepveu at gmail dot com
15 years ago
If $index is null, $newval is naturally pushed onto the end of the array as ArrayObject::append
To Top