PHP 8.6.0 Beta 1 is available for testing

ArrayObject::offsetSet

(PHP 5, PHP 7, PHP 8)

ArrayObject::offsetSetУстанавливает новое значение по указанному индексу

Описание

public function ArrayObject::offsetSet(mixed $key, mixed $value): void

Устанавливает новое значение по указанному индексу.

Список параметров

key

Индекс для установки значения.

value

Новое значение для key.

Возвращаемые значения

Функция не возвращает значения после выполнения.

Примеры

Пример #1 Пример использования 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 (1) {
 ["storage":"ArrayObject":private]=>
 object(Example)#2 (3) {
 ["property"]=>
 string(11) "prop:public"
 ["4"]=>
 string(4) "four"
 ["group"]=>
 array(2) {
 [0]=>
 string(2) "g1"
 [1]=>
 string(2) "g2"
 }
 }
}
object(ArrayObject)#3 (1) {
 ["storage":"ArrayObject":private]=>
 array(3) {
 [0]=>
 string(4) "zero"
 [1]=>
 string(3) "one"
 [2]=>
 string(4) "last"
 }
}

Смотрите также

Нашли ошибку?

ИнструкцияИсправлениеСообщение об ошибке
+Добавить

Примечания пользователей 2 notes

up
3
jerikojerk
14 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
17 years ago
If $index is null, $newval is naturally pushed onto the end of the array as ArrayObject::append
+Добавить

AltStyle によって変換されたページ (->オリジナル) /