我将解释:
我有一个套接字socket.php文件,该文件将为每个用户添加一个连接,以便该用户具有来自不同设备的多个连接。
$clients[] = $socketChange; // array_push($clients,$socketChange); // 505
$end = key (array_slice ($clients, -1, 1, TRUE)); // extract 505
$userConexion [$userId] [] = $end; // add to clientID socket 505
您要做的是将每个连接添加到客户端阵列,然后最后添加的套接字将其分配给相应的用户。因此用户可以在不同设备上进行多个会话,并且总计将实时接收信息。
现在我的问题是...
我如何控制位置,即,如果用户连接1k了用户编号1001并与用户断开连接,$ clients他将向我$ clients [1001]展示如何在不删除已连接用户的情况下重新启动计数器。
我删除了客户端套接字,并unset() array_shift()重新排序了错误的$clients套接字。
例子:
$clients[0] = resource 0;
$clients[1,433] = empty;
$clients[434] = resource 434;
$clients[435] = resource 435;
$clients[436,450] = empty;
$clients[451] = resource 435;
$clients[452,999] = empty;
$clients[1000] = resource 1000;
新的连接1001 添加到空位置。
例子:
<?php
$a1 = array();
$a2 = array();
for ($i=1; $i < 4 ; $i++) {
$a1[] = array("hello{$i}" => "hello{$i}");
$a2[] = array("hello{$i}" => "hello{$i}");
}
echo "<pre>";
unset($a1[1]);
unset($a2[1]);
$a1[] = array("hello11" => "hello11");
array_push($a2, array("hello11" => "hello11"));
print_r($a1); // 0,2,3
print_r($a2); // 0,2,3
// need insert in position empty in this example `1`.
UYOU