В моем коде ниже GST и Количество печатаются правильно, но Скидка не печатает результат. Почему не печатает Скидка? Как я могу решить эту проблему?
$GST = Array ( [0] => 18 );
$Amount = Array ( [0] => 25000 );
$Discount = Array ( [0] => 10 );
array_map(
function($GST, $Amount, $Discount){
echo ' GST: '.$GST.' Amount: '.$Amount.' Discount: '.$Discount.'<br>';
echo 'Discount: '.(($Amount * $Discount) / 100).' Amount After Discount: '.($Amount - (($Amount * $Discount) / 100)).'<br>';
echo 'GST: '.(($Amount - (($Amount * $Discount) / 100)) * $GST / 100).'<br>';
//return ($Amount - (($Amount * $Discount) / 100)) * $GST / 100;
},
!is_array($GST) ? [] : $GST,
!is_array($Amount) ? [] : $Amount,
!is_array($Discount) ? [] : $Discount
)
$GST = Array ( [0] => 18 ); недействителен PHP






Вопрос в переопределении массивов, и вы должны быть на пути к успеху. Код предоставлен пользователем Магнус Эрикссон.
$GST = Array (18);
$Amount = Array (25000);
$Discount = Array (10);
array_map(
function($GST, $Amount, $Discount){
var_dump($GST, $Amount, $Discount);
echo PHP_EOL;
echo 'GST: '.$GST.' Amount: '.$Amount.' Discount: '.$Discount.PHP_EOL;
echo 'Discount: '.(($Amount * $Discount) / 100).' Amount After Discount: '.($Amount - (($Amount * $Discount) / 100)).PHP_EOL;
echo 'GST: '.(($Amount - (($Amount * $Discount) / 100)) * $GST / 100).PHP_EOL;
//return ($Amount - (($Amount * $Discount) / 100)) * $GST / 100;
},
!is_array($GST) ? [] : $GST,
!is_array($Amount) ? [] : $Amount,
!is_array($Discount) ? [] : $Discount
);
Вывод:
int(18)
int(25000)
int(10)
GST: 18 Amount: 25000 Discount: 10
Discount: 2500 Amount After Discount: 22500
GST: 4050
Вы могли бы по крайней мере сказать мне, если собираетесь скопировать / вставить мою демонстрацию? :-п
Когда был опубликован ваш комментарий, я еще не закончил вставлять код. Как видите, на вас ссылаются ;-) Также внесены изменения в сам вопрос, чтобы сделать его читабельным.
Не беспокойся. :-)
Так вы определили свои массивы? Это должно вызвать ошибки синтаксического анализа. Кстати, я протестировал ваш код, и он работает (после изменения того, как вы определяете массивы). Вот демонстрация: 3v4l.org/SqgJO