PHP Explode - быстрый запрос - PullRequest
0 голосов
/ 02 ноября 2011

У меня есть массив данных, который выглядит следующим образом:

'valid' => string 'true' (length = 4)

'test_status' =>строка 'true' (длина = 4)

'trans_id' => строка 'TRAN000102' (длина = 10)

'mpi_status_code' => строка '200' (длина = 3)

'mpi_message' => строка 'Требуется подтверждение плательщика' (длина = 27)

'acs_url' => строка 'https% 3A% 2F% 2Fwww.secpay.com% 2Fjava-bin%2FACSSimulator% 3Fpartner% 3Dsecpay% 26VAA% 3DB '(длина = 83)

' MD '=> строка' 1158465348 '(длина = 10)

' PaReq '=> строка' eJxVUmFvgjAQ /b5fQfwBtBQwao4apybzA + O2S ++ kXJQNChaY7N / vqjBdE5J7d / d6716BeVfkzjeaOit1NPJcPprLJzicDOLqHVVrUEKMdZ0c0clS6vDCSTAO / WAykrBfvOFZQk + XxHYFsAESz6hTohsJiTo / b7YyEFMuAmA9hALNZiVDPvYDEXr8doDd0qCTAmWusNQ594BdIaiy1Y35kRMxBjYAaE0uT01TzRi7XC7ujZRpdFXptl / AbB3YXc ++ tVFN93VZKuPD2tutXsX2EPPdcnHc3L8ImO2ANGlQCu7R4cLh05kXznxScM1DUlghkmqkvgdQ2RmLx8pjBshag1oNmwwIsKtKjdRBTv7FkGKt5JKGmUwfnfW5zaqCCiTAFoDdF1q + WLtVQw5 + fK4F7dbFr1FkTb8m7YCMPPN8a2oPgFka69 + T9Q9O0b8f4ReyL7Xp '(length = 452)

Я использую PHP Explode для разделения аргументов, используя следующий код:

foreach ( $args as $arg) {
        list($key, $value) = explode("=", $arg);
        $result_arr[$key] = $value;
      }

Теперь мой вопрос заключается в том, что иногда, когда яотправить этот код PaReq, он возвращается недействительным.Люди на стороне оплаты сказали, что я пропускаю == в конце строки.

При использовании взрыва ("=") это может привести к исчезновению == из конца строки.строка?

Если это так, что будет лучшим способом разделения и чтения массива.Или это все равно ничего не меняет?

Заранее спасибо, ребята.

1 Ответ

1 голос
/ 02 ноября 2011

Вы взрываетесь, используя разделитель, который повторяется в ваших данных.

Вот что происходит:

a=svyndf124iasvfABas== -> array('a', 'svyndf124iasvfABas', '', '')

Вы можете взломать это, заменив '=' в ваших данных на '!' или другой заполнитель, но реальная хитрость заключается в том, чтобы просто лучше закодировать список. Я бы предложил JSON .

Однако, кажется (согласно вашим комментариям), у вас есть более глубокие проблемы, чем просто ваша кодировка данных.

...