Info.php 785 B

123456789101112131415161718192021222324252627
  1. <?php
  2. namespace Predis\Commands;
  3. class Info extends Command {
  4. public function canBeHashed() { return false; }
  5. public function getId() { return 'INFO'; }
  6. public function parseResponse($data) {
  7. $info = array();
  8. $infoLines = explode("\r\n", $data, -1);
  9. foreach ($infoLines as $row) {
  10. list($k, $v) = explode(':', $row);
  11. if (!preg_match('/^db\d+$/', $k)) {
  12. $info[$k] = $v;
  13. }
  14. else {
  15. $db = array();
  16. foreach (explode(',', $v) as $dbvar) {
  17. list($dbvk, $dbvv) = explode('=', $dbvar);
  18. $db[trim($dbvk)] = $dbvv;
  19. }
  20. $info[$k] = $db;
  21. }
  22. }
  23. return $info;
  24. }
  25. }