MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Nén (rút ngắn) chuỗi PHP từ 24 ký tự xuống 20 ký tự

Từ những gì tôi thấy trên trang được tham chiếu của bạn, 24 ký tự là hệ thập lục phân. Nếu id khách hàng có thể là chữ và số, bạn có thể sử dụng base_convert để rút ngắn số. Thật không may, con số đầy đủ là> 32bit, vì vậy bạn cần phải giấu nó thành từng phần để làm cho nó hoạt động:

// Pad with 0's to make sure you have 24 chars
$padded = str_repeat('0', 24 - strlen($mongoId)) . $mongoId;
$leastSignificant = base_convert(substr($padded, 14, 10), 16, 32); // will be 8 chars most
$middleSignificant = base_convert(substr($padded, 4, 10), 16, 32); // will be 8 chars most
$highSignificant = base_convert(substr($padded, 0, 4), 16, 32); // will be 4 chars most

// Concatenate, and make sure everything is correctly padded
$result = str_repeat('0', 4 - strlen($highSignificant)) . $highSignificant .
          str_repeat('0', 8 - strlen($middleSignificant )) . $middleSignificant .
          str_repeat('0', 8 - strlen($leastSignificant )) . $leastSignificant;
echo strlen($result); // Will echo 20

// Reverse the algoritm to retrieve the mongoId for a given customerId 



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cách cài đặt MongoDB Community Edition trên Ubuntu

  2. Làm cách nào để giữ giá trị null ở cuối sắp xếp trong Mongoose?

  3. Mongo cách tra cứu $ với DBRef

  4. MongoDB - tài liệu người dùng của tôi có nên chứa danh sách id dự án không?

  5. Truy vấn Mongodb vào tháng, ngày, năm ... của ngày giờ