International PHP Conference 2015

Threaded::merge

(PECL pthreads >= 2.0.0)

Threaded::mergeManipulation

Description

public boolean Threaded::merge ( mixed $from [, bool $overwrite ] )

Merges data into the current object

Parameters

from

The data to merge

overwrite

Overwrite existing keys, by default true

Return Values

A boolean indication of success

Examples

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($stdClassfalse);

var_dump($safe);
?>

The above example will output:

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 add a note

User Contributed Notes 1 note

up
0
cottton
18 days 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