(PHP 4 >= 4.3.0, PHP 5, PHP 7)
msg_receive — Reçoit un message depuis une file de messages
$queue
   , int $desiredmsgtype
   , int &$msgtype
   , int $maxsize
   , mixed &$message
   [, bool $unserialize = true
   [, int $flags = 0
   [, int &$errorcode
  ]]] )
   msg_receive() reçoit le premier message de la
   file queue, le type est spécifié par
   desiredmsgtype.
  
queue
desiredmsgtype
       Si desiredmsgtype vaut 0, le premier message
       de la file est retourné. Si desiredmsgtype vaut
       plus que 0, alors le premier message de ce type sera retourné.
       Si desiredmsgtype vaut moins que 0, le premier
       message de la file ayant un type inférieur ou égal à la valeur absolue
       de desiredmsgtype sera retourné. Si aucun message
       ne correspond aux critères, votre script attendra la venue d'un tel
       message dans la file. Vous pouvez éviter ce blocage en précisant l'option
       MSG_IPC_NOWAIT dans le paramètre
       flags.
      
msgtypeLe type de message qui a été reçu sera stocké dans ce paramètre.
maxsize
       La taille maximale de message est fixée par
       maxsize ; si le message de la file est plus grand
       que cette taille, la fonction échouera (à moins que vous
       n'utilisiez une option flags, décrite ci-dessous).
      
message
       Le message reçu sera stocké dans le paramètre message,
       à moins qu'il n'y ait eu des erreurs de réception du message.
      
unserializeQuand c'est le cas, le message est traité comme s'il avait été linéarisé avec le même mécanisme que le module de session. Le message sera alors délinéarisé, puis retourné au script. Cela vous permettra de recevoir facilement des tableaux ou des objets complexes dans votre script, émis par d'autres scripts PHP, ou, si vous utilisez WDDX, depuis n'importe quelle source compatible WDDX.
       Si unserialize vaut FALSE,
       le message sera retourné intact, et sans modifier les valeurs binaires.
      
flags
       Le paramètre flags permet de passer des options
       pour configurer les appels msgrcv. Par défaut, il vaut 0, mais vous pouvez
       spécifier une ou plusieurs options en les combinant avec l'opérateur OR).
       
MSG_IPC_NOWAIT | 
           S'il n'y a pas de message du type
            desiredmsgtype, retourne immédiatement
            et n'attend pas. La fonction échouera et retournera un entier
            correspondant à MSG_ENOMSG.
            | 
          
MSG_EXCEPT | 
           En utilisant cette option en combinaison avec
           un type desiredmsgtype supérieur à 0, la 
           fonction va lire le premier message qui n'est pas
           du type demandé par desiredmsgtype. | 
          
MSG_NOERROR | 
           
            Si le message est plus grand que maxsize,
            cette option va tronquer le message à la taille de
            maxsize et ne signalera pas d'erreur.
            | 
          
errorcode
       Si la fonction échoue, le paramètre optionnel
       errorcode sera défini à la valeur
       de la variable système errno.
      
   Cette fonction retourne TRUE en cas de
succès ou FALSE si une erreur survient.
  
Lors de la réception réussie d'un message, la file est mise à jour comme ceci : msg_lrpid prend la valeur de l'identifiant de processus du processus appelant, msg_qnum est décrémenté de 1 et msg_rtime prend la date et l'heure courante.