International PHP Conference Berlin 2025

Threaded::merge

(PECL pthreads >= 2.0.0)

Threaded::mergeManipulation

Descrição

public Threaded::merge(mixed $from, bool $overwrite = ?): bool

Merges data into the current object

Parâmetros

from

The data to merge

overwrite

Overwrite existing keys, by default true

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Merging into the property table of a threaded object

<?php
$array
= [];

while (
count($array) < 10)
$array[] = count($array);

$stdClass = new stdClass();
$stdClass->foo = "foo";
$stdClass->bar = "bar";
$stdClass->baz = "baz";

$safe = new Threaded();
$safe->merge($array);

$safe->foo = "bar";
$safe->merge($stdClass, false);

var_dump($safe);
?>

O exemplo acima produzirá:

object(Threaded)#2 (13) {
  ["0"]=>
  int(0)
  ["1"]=>
  int(1)
  ["2"]=>
  int(2)
  ["3"]=>
  int(3)
  ["4"]=>
  int(4)
  ["5"]=>
  int(5)
  ["6"]=>
  int(6)
  ["7"]=>
  int(7)
  ["8"]=>
  int(8)
  ["9"]=>
  int(9)
  ["foo"]=>
  string(3) "bar"
  ["bar"]=>
  string(3) "bar"
  ["baz"]=>
  string(3) "baz"
}

adicione uma nota

Notas Enviadas por Usuários (em inglês) 1 note

up
0
cottton
9 years ago
The example output is different on my side:
<?php
/*
object(Threaded)#2 (11) {
["0"]=>
int(0)
["1"]=>
int(1)
["2"]=>
int(2)
["3"]=>
int(3)
["4"]=>
int(4)
["5"]=>
int(5)
["6"]=>
int(6)
["7"]=>
int(7)
["8"]=>
int(8)
["9"]=>
int(9)
["foo"]=>
string(3) "bar"
}
*/
?>
for
windows using
PHP_VERSION 5.6.11
php_pthreads-2.0.10-5.6-ts-vc11-x86.zip @ http://windows.php.net/downloads/pecl/releases/pthreads/2.0.10/

and

linux using
PHP_VERSION 5.6.10-1~dotdeb+zts+7.3

So $stdClass wont be merged.
To Top