У меня есть условие в моем шаблоне клипа, который проверяет, оплачивается ли клиент из звонка api. Проблема в том, что не имеет значения, удовлетворены ли какие-либо из условий if/elseif
, это всегда идет до else
и показывает, что там находится.Условие идет прямо в другое, даже если есть условие, которое встречается в if/esleif block
@if (is_array($totala['data']['incoming']) || is_object($totala['data']['incoming']))
@foreach($totala['data']['incoming'] as $key => $date)
@endforeach
@if(strpos($date['address'], $address['address']) !== false)
@if($order['price'] == $date['amount'])
<span>Paid</span>
@elseif($order['price'] < $date['amount'])
<span>Over Paid</span>
@elseif($order['price'] > $date['amount'])
<span>Under Paid</span>
@else
@endif
@else
<span>Else block</span>
@endif
@else
<span>Unpaid</span>
@endif
Я сделал это так, потому что, если я ставлю внутренний, если/иначе блок внутри Еогеасп У меня даже нежелательные результаты на странице, потому что они являются несколько элементов внутри итерации петли $totala['data']['vouts']
и Еогеасп пока нет больше элементов.
Итак, почему результат всегда идет в другом блоке?
Примечание: все данные есть и указаны правильно. Я triple проверил данные в массиве json.
Update: Вот пример массива
Array
(
[status] => success
[data] => Array
(
[id] => id
[incoming] => Array
(
[0] => Array
(
[address] => address1
[amount] => sum1
)
[1] => Array
(
[address] => address2
[amount] => sum2
)
[2] => Array
(
[address] => address3
[amount] => sum3
)
[3] => Array
(
[address] => address4
[amount] => sum4
)
[4] => Array
(
[address] => address5
[amount] => sum5
)
)
)
)
С foreach
Я обхвата в массиве [данные] [входящие] для поиска адреса strpos($date['address'], $address['address']) !== false
тогда, когда адрес найден, я хочу пойти корыто условия.
Я только что понял, что я всегда вхожу в другой блок, потому что они являются множеством массивов в [входящем], и всегда условия не выполняются. Это верно? Если это так, как я могу это исправить?
Какие данные находятся в '$ totala ['data'] ['incoming']'? Ваш код оценивается на основе конечного элемента в этом массиве, который может быть тем, что вы хотите, но использование цикла foreach не является лучшим способом его получения. Также - какой еще блок всегда запускается? В вашем примере 3. – Steve
' Else block' этот блок всегда запускается. Я обновил свой вопрос на примере того, как выглядит массив. – Garg
Итак, 'strpos ($ date ['address'], $ address ['address'])' оценивает значение false - каково значение '$ address ['address']' в вашем скрипте? – Steve