За последние 24 часа нас посетили 36500 программистов и 7785 роботов. Сейчас ищут 1792 программиста ...

return двух переменных массивов

Тема в разделе "PHP для новичков", создана пользователем aliensgroup, 9 янв 2023.

Метки:
  1. aliensgroup

    aliensgroup Новичок

    С нами с:
    28 май 2022
    Сообщения:
    33
    Симпатии:
    0
    Добрый вечер, выводил раньше только переменную массив $value
    PHP:
    1. <?php
    2.  
    3. class ControllerCommonValute extends Controller {
    4.  
    5.     public function index() {
    6.  
    7.  
    8. $value['dl'] = (string)$feed->xpath('////Valute[@ID = "44"]')[0]->Value ;
    9.  
    10. $value['eu'] = (string)$feed->xpath('////Valute[@ID = "47"]')[0]->Value ;
    11.  
    12. $value['ru'] = (string)$feed->xpath('////Valute[@ID = "36"]')[0]->Value ;
    13.  
    14. // срав
    15. $diff['dl'] = $value ['dl'] - $old_value ['dl'];
    16. $diff['eu'] = $value ['eu'] - $old_value ['eu'];
    17. $diff['ru'] = (string)$value ['ru'] - $old_value ['ru'];
    18.  
    19. return $value;
    20.     }
    21. }
    22.  
    23.   ?>
    но как видите я добавил еще один массив $diff
    Вопрос, как выполнить вроде
    PHP:
    1. return $value, $diff;
     
  2. antoniii

    antoniii Активный пользователь

    С нами с:
    16 мар 2022
    Сообщения:
    419
    Симпатии:
    71
    Объяви массив. Вставь в него оба значения со строковыми ключами. Верни массив в функции словом return.
     
  3. aliensgroup

    aliensgroup Новичок

    С нами с:
    28 май 2022
    Сообщения:
    33
    Симпатии:
    0
    ok, сделал следующее:
    PHP:
    1. $mass ['value'] = $value;
    2. $mass ['diff'] = $diff;
    3. return $mass;
    но как получать значения в twig раньше переменная выводилась как {{ value.ru }}, теперь это будет как {{ mass.value.ru }}?
     
  4. aliensgroup

    aliensgroup Новичок

    С нами с:
    28 май 2022
    Сообщения:
    33
    Симпатии:
    0
    решено. я сглупил , переменная value уже массив, все решилось очень просто учитывая что один тип данных
    PHP:
    1. $value['diff_dl'] = $value ['dl'] - $old_value ['dl'];
    2. $value['diff_eu'] = $value ['eu'] - $old_value ['eu'];
    3. $value['diff_ru'] = (string)$value ['ru'] - $old_value ['ru'];
    4.  
    5. return $value;
    и вывод в twig выглядит привычным переменная {{ value.ru}} и {{ value.old_ru}}
    осталось решить как правильно арифметические операции сравнения проводить строковых переменных)))
     
  5. antoniii

    antoniii Активный пользователь

    С нами с:
    16 мар 2022
    Сообщения:
    419
    Симпатии:
    71
    Молодец. Удачи.