PHP 8.4.2 Released!

Threaded::merge

(PECL pthreads >= 2.0.0)

Threaded::mergeManipulation

Descrizione

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

Merges data into the current object

Elenco dei parametri

from

The data to merge

overwrite

Overwrite existing keys, by default true

Valori restituiti

Restituisce true in caso di successo, false in caso di fallimento.

Esempi

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

Il precedente esempio visualizzerà:

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

add a note

User Contributed Notes 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