Как получить переменную вне цикла?

135
15 апреля 2018, 23:11

Имеется функция следующего вида. Цикл в ней не возвращает переменную

public function actionCheckqiwipayment(){
    if(\Yii::$app->request->isAjax){
        $data = Yii::$app->request->post();
        $wallet = $data['wallet']; //QIWI кошелек
        $amount = $data['qiwi'];
        $currency = $data['currency'];
        $crawler = new QiwiCrawler;
        //Получаем 10 последних платежей
        $payments = $crawler->getPaymentsHistory('number','api-key');
        //var_dump($payments);
        //Проверяем каждый платёж
        for($i=0; $i>=9; $i++){
            $qiwiWallet = $payments['data']["$i"]['account']; //QIWI номер отправителя
            $qiwiAmount = $payments['data']["$i"]['sum']['amount']; //QIWI сумма платежа
            $qiwiCurrency = $payments['data']["$i"]['sum']['currency']; //QIWI Валюта
            $qiwiPaymentType = $payments['data']["$i"]['type']; //Тип платежа
            $qiwiPaymentStatus = $payments['data']["$i"]['status']; //Статус платежа (IN / OUT)
            //Коды валют в API переводим в использующиеся на сайте

            if($qiwiWallet == $wallet && $qiwiAmount == $amount && $qiwiCurrency == $currency && $qiwiPaymentType == 'IN'){
                if($qiwiPaymentStatus == 'SUCCESS'){

                }
                $result = 1;
            }
            else{
                $result = 0;
                break;
            }
        }
        return $result;


    }
  }
Answer 1

Конструкция return используется для возврата значения в функции. В Вашем случае, Вы через цикл for, в зависимости от условий, переписываете переменную $result.

И есть подозрение, что цикл не будет выполнен. Начальное значение переменной $i меньше указанного значение в условии цикла.

for($i=0; $i>=9; $i++){    
}

Если идет вызов скрипта через ajax, нужно выводить значение а не возвращать:

// return $result;    
echo $result;
READ ALSO
Тип поля для time() в MySQL?

Тип поля для time() в MySQL?

Какой тип поля в MySQL правильно использовать для хранения Unix timestamp ( time() PHP)?

148
Расположить картинки в ряд GD php

Расположить картинки в ряд GD php

Работаю с GD на php, возник вопрос, как можно разместить маленькие картинки с одинаковым отступом от краев, с размером 75х75Изначальное количество...

121
Как выполнить php-файл из phar архива?

Как выполнить php-файл из phar архива?

В phar архив положили php-файл 'testphp' с кодом:

113
Динамически обновленная таблица HTML работает неправильно, AJAX

Динамически обновленная таблица HTML работает неправильно, AJAX

У меня проблема, динамически обновляемая таблица не работаетКогда я вручную обновляю страницу, она работает правильно, я могу удалить запись

118