$clientsObjects 配列の要素のインデックス キーを取得するこの関数があります。配列内の各要素は、ソケット リソースを返す getSocket() メソッドを持つ Client クラスのオブジェクトを保持します。
$socket 関数パラメーターが、配列内にある Client->getSocket() の 1 つと等しいことは 100% 確信しています。何らかの理由で、コードが if ステートメントに入ることはありません...何か提案はありますか?
function getClientObjectKey($socket)
{
global $clientsObjects;
while ($sock = current($clientsObjects))
{
if ($sock->getSocket() == $socket)
return key($clientsObjects);
$sock = next($clientsObjects);
}
}