Форум программистов, компьютерный форум, киберфорум
PHP: API
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 17.03.2017
Сообщений: 13
1

Получить одно значение массива

17.03.2017, 11:38. Показов 1570. Ответов 25
Метки нет (Все метки)

Доброго дня, делаю маленький трекинг отправок для своих нужд, использую API Почты России. Циклом прохожу по всему массиву и получаю значения все нормально, но проблема в том что не могу получить одно значение массива, искал решение в нете, найденные варианты в моей ситуации не работают Вот код:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
$wsdlurl = 'https://tracking.russianpost.ru/rtm34?wsdl';
$client2 = '';
 
$client2 = new SoapClient($wsdlurl, array('trace' => 1, 'soap_version' => SOAP_1_2));
 
$params3 = array ('OperationHistoryRequest' => array ('Barcode' => $tracknumber, 'MessageType' => '0','Language' => 'RUS'),
                  'AuthorizationHeader' => array ('login'=>'login','password'=>'password'));
 
$result = $client2->getOperationHistory(new SoapParam($params3,'OperationHistoryRequest'));
 
 
foreach ($result->OperationHistoryData->historyRecord as $record) {
    printf(
    "<TR>
    <TD STYLE=\"text-align:left;\">%s</TD>
    <TD STYLE=\"text-align:center;\">%s</TD>
    <TD STYLE=\"text-align:center;\">%s</TD>
    <TD>%s</TD>
    <TD>%s</TD>
    <TD STYLE=\"text-align:center;\">%s</TD>
    <TD STYLE=\"text-align:center;\">%s</TD>
    <TD STYLE=\"text-align:center;\">%s</TD>
    <TD STYLE=\"text-align:center;\">%s</TD>
    <TD>%s</TD>
    </TR>",
    $record->OperationParameters->OperType->Name,
    $record->AddressParameters->OperationAddress->Index,
    $record->AddressParameters->OperationAddress->Description,
    $record->OperationParameters->OperAttr->Name,
    $record->AddressParameters->DestinationAddress->Index,
    $record->AddressParameters->DestinationAddress->Description);
};
}
Как мне например получить значение OperationParameters->OperType->Name и только 1 раз (к примеру первое значение), без повторений?
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.03.2017, 11:38
Ответы с готовыми решениями:

Работа с json. Получить значение массива.
Hi All! С PHP работаю совсем недавно (просто пришлось), с JSON вообще первый раз, поэтому такой...

Подскажите, как получить значение массива из функции
Подскажите, как получить значение массива из функции: $arr=array(); arr($arr); print_r...

Получить одно значение из БД .accdb
есть бд аксес. есть таблица. в ней ячейка. в ячейке яйцо. в яйце значение как вытащить это...

Mysqli получить только одно значение
привет! я делаю запрос $query = $conn-&gt;prepare('SELECT * FROM users WHERE id = ?');...

25
0 / 0 / 0
Регистрация: 17.03.2017
Сообщений: 13
25.04.2017, 20:39  [ТС] 21
К сожалению вообще не выполняется скрипт, где то ошибка...
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

15 / 11 / 6
Регистрация: 30.01.2016
Сообщений: 84
26.04.2017, 20:57 22
Посмотрите что будет выводит данный скрипт:
(проверте всё ли указано правильно, я имею в виду путь к Name)

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$Mass2 = $Mass2['OperationHistoryData']['historyRecord'];
print_r($Mass2);
echo '<br>';
$num = count($Mass2);
echo $num;
echo '<br>';
$arr = array('Ivan', 'Vasia'); //Здесь пишем значения которые хотим найти
for ($i = 0; $i < $num; $i++) {
    foreach ($arr as $val) {
    echo $val;
    echo '<br>';
        if($Mass2[$i]['OperationParameters']['OperAttr']['Name'] == $val) {
            echo $val,' найден!<br>';
        }
    }
}
1
0 / 0 / 0
Регистрация: 17.03.2017
Сообщений: 13
28.04.2017, 17:23  [ТС] 23
Да, работает все находит , а как условие то сделать? Если найдены оба значения выводить "найдены оба", если одно значение "найдено одно"?
0
15 / 11 / 6
Регистрация: 30.01.2016
Сообщений: 84
28.04.2017, 17:24 24
А искомых значений всегда будет только 2?
нажмите спасибо)))
0
0 / 0 / 0
Регистрация: 17.03.2017
Сообщений: 13
28.04.2017, 17:45  [ТС] 25
Думаю да)
0
15 / 11 / 6
Регистрация: 30.01.2016
Сообщений: 84
28.04.2017, 17:59 26
Проверяйте:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$Mass2 = $Mass2['OperationHistoryData']['historyRecord'];
$num = count($Mass2);
$res = 0;
$arr = array('Ivan', 'Vasia'); //Здесь пишем значения которые хотим найти
for ($i = 0; $i < $num; $i++) {
    foreach ($arr as $val) {
        if($Mass2[$i]['OperationParameters']['OperAttr']['Name'] == $val) {
            $res++;
        }
    }
}
if ($res == '1') echo 'Найдено одно!<br>';
else if ($res == '2') echo 'Найдены оба!<br>';
else echo 'Найдено ', $res, '<br>';
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.04.2017, 17:59

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Как из JSON строки получить только одно значение?
есть ответ от сервера {&quot;code&quot;:0,&quot;code&quot;:&quot;OK&quot;} я успешно смог это спарсить с помощью JObject.Parse,...

Как в многомерном массиве зная одно значение, получить другое?
Я ищу так строку в массиве переменная строки - $str, потом мне нужно если такая страка найдена...

Как распарсить строку JSON и получить оттуда только одно значение?
Сервер возвращает мне длинную JSON строку. Из нее мне нужно вытащить только ID. Я сделал так: ...

Как с массива чисел получить одно целое
Здравствуйте!Подскажите как с массива чисел получить одно целое? например int n = new int{1,2,3}; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
26
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.