powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Условия для текста в переменой
6 сообщений из 6, страница 1 из 1
Условия для текста в переменой
    #38322497
Алексей234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть переменая xml:
$xml=”<response>
<version>1.2</version>
<merchant_id></merchant_id>
<order_id> ORDER_123456</order_id>
<amount>1.01</amount>
<currency>UAH</currency>
<description>Comment</description>
<status>success</status>
</response>";

Статус бывает разный:
status="success" - покупка совершена
status="failure" - покупка отклонена
status="wait_secure" - платеж находится на проверке
Если статус равен success тогда мы делаем одно действие если другой тогда мы делаем другое действие, как это сделать? Как поставить условие лишь для поля status?
...
Рейтинг: 0 / 0
Условия для текста в переменой
    #38322527
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей234,

php? может preg_match? Обычно его в таких целях пользую (если не надо конечно весь xml распарсить и достать оттуда десяток значений)
...
Рейтинг: 0 / 0
Условия для текста в переменой
    #38322568
MikkiMouse
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Програмёр,

Какой к монахам preg_match()?

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
$xml="<response> 
<version>1.2</version>
<merchant_id></merchant_id>
<order_id> ORDER_123456</order_id>
<amount>1.01</amount>
<currency>UAH</currency>
<description>Comment</description>
<status>success</status> 
</response>";

$simple = simplexml_load_string($xml);

echo $simple->status=="success"?"foo":"bar";
...
Рейтинг: 0 / 0
Условия для текста в переменой
    #38322630
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MikkiMouse,

скорость. Если требуется распарсить весь xml - тогда использование simpleXML имеет смысл. Если же вытянуть 1 параметр - смысла парсить всё не вижу :).
Однако подход "на любителя"
...
Рейтинг: 0 / 0
Условия для текста в переменой
    #38322653
phpz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Алексей234,

Если нужен просто status, то substr() будет во много раз быстрее предложенных выше вариантов.
...
Рейтинг: 0 / 0
Условия для текста в переменой
    #38322659
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
phpz,

да, именно... в сочитании с strstr.
Просто регулярки более универсальны, потому по привычке их пользую даже там, где может быть излишним.
так что самый быстродейственный - это:
Код: php
1.
$status = substr(strstr(strstr($xml, "<status>"), "</status>", true), 8, -9);


по-моему так.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Условия для текста в переменой
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]