@Div100

Проблемы разбора ruby синтаксиса, что это значит?

Есть ф-ия на Ruby:
def signature h
    sorted_params = h.to_a.sort{|x, y| x[0].to_s <=> y[0].to_s} #1
       s = ""
       sorted_params.each{|k, v| s += "#{k}=#{v}"} #2
       s += "62f8"
       sig = Digest::MD5.hexdigest(s)
       sig
  end

в ф-ию передается объект подобного вида h = {e: "aaa", b: "aaa"}

как я понял в первой строке #1 этот объект конвертируется в массив, затем присваивается в отсортированном виде.
Так вот немного не понял как такую же строку получить на php?

А в строке #2 просто идет конкатенация вида ключ значение? без всякив пробелов?
И почему в руби нет слова return, как я понял здесь возврашается значение в конце

Да спасибо, это я уже практическим путем выяснил)
Такой вопрос остался когда склеиваешь в строку, то в PHP переменные boolean представляются как 1, а в ruby как "true"
из-за этого получается md5 разный, как это можно исправить?
____
Все спасибо, разобрался
json_encode($bool)
  • Вопрос задан
  • 181 просмотр
Решения вопроса 1
Sanasol
@Sanasol Куратор тега PHP
нельзя просто так взять и загуглить ошибку
Сортируется по ключу: php.net/manual/en/function.ksort.php
Склеивается в строку key1=value1key2=value2key3=value3
Добавляется в конце секретный ключ 62f8
Считается md5 php.net/manual/en/function.md5.php

Смотреть надо на документацию платежной(судя по всему) системы для которой этот код, а не в сам код.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы