• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • ArrayObject::offsetSet()

    (PHP 5, PHP 7)

    为指定索引设定新的值

    说明

    publicArrayObject::offsetSet(mixed $index, mixed $newval): void

    设置指定的索引为新的值

    参数

    $index

    将要被设置的索引

    $newval

    参数$index所对应的新值。

    返回值

    没有返回值。

    范例

    ArrayObject::offsetSet()例子

    <?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);
    ?>
    

    以上例程会输出:

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

    参见

    • ArrayObject::append() 追加新的值作为最后一个元素。
    If $index is null, $newval is naturally pushed onto the end of the array as ArrayObject::append
    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
            )
        )
    )