PHP Conference Japan 2024

Threaded::merge

(PECL pthreads >= 2.0.0)

Threaded::merge操作

描述

public Threaded::merge(混合 $from, 布林 $overwrite = ?): 布林

將資料合併到目前的物件

參數

from

要合併的資料

overwrite

是否覆寫現有的鍵值,預設為 true

回傳值

成功時返回 true,失敗時返回 false

範例

範例 #1 合併到執行緒物件的屬性表格

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

上述範例將輸出

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

新增註釋

使用者貢獻的註釋 1 則註釋

cottton
9 年前
範例輸出在我的環境下不同
<?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"
}
*/
?>
適用於
Windows 使用
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/

以及

Linux 使用
PHP_VERSION 5.6.10-1~dotdeb+zts+7.3

所以 $stdClass 不會被合併。
To Top