0 / 0 / 0
Регистрация: 03.06.2016
Сообщений: 3
1

Вычесть из переменной переменную

13.06.2016, 17:05. Показов 1725. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нужно вычесть: из переменной $result1 строка 52, переменную $result2 строка 53 и поместить значение в переменную $result3 строка 54. Вопрос, почему не работает? И как сделать чтобы заработало. Заранее Спасибо всем кто откликнется.
  1. <?php
  2. $properties['defaultUser'] = $modx->getOption('defaultUser', $scriptProperties, 'user');
  3. $properties['user_id'] = $modx->getOption('user_id', $scriptProperties, null);
  4. $tableUsers = $modx->getTableName('modUser');
  5. $cUserFields = $modx->getService('cUserFields');
  6. $percent = 0;
  7. if($modx->user->isAuthenticated('web') || $properties['user_id'] != null){
  8. $user_id_default = 0;
  9. if($properties['user_id'] != null)
  10. $user_id = $properties['user_id'];
  11. else
  12. $user_id = $modx->user->id;
  13. $type_price = $cUserFields->getUserPrice($user_id);
  14. $type_discount = $cUserFields->getUserDiscount($user_id);
  15. $type_proc_skd_kz = $cUserFields->getUserproc_skd_kz($user_id);
  16. $percent = $cUserFields->getUserPercent($user_id);
  17. if(isset($properties['defaultUser'])){
  18. $query = $modx->prepare(«SELECT * FROM {$tableUsers} WHERE `username`='{$properties['defaultUser']}' LIMIT 1»);
  19. $query->execute();
  20. $result = $query->fetchAll(PDO::FETCH_ASSOC);
  21. if(empty($result[0]) || !is_array($result))
  22. return;
  23. $user_id_default = $result[0]['id'];
  24. if($type_price == -1)
  25. $type_price = $cUserFields->getUserPrice($result[0]['id']);
  26. if($type_discount == -1)
  27. $type_discount = $cUserFields->getUserDiscount($result[0]['id']);
  28. if($type_proc_skd_kz == -1)
  29. $type_proc_skd_kz = $cUserFields->getUserproc_skd_kz($result[0]['id']);
  30. }
  31. }
  32. else{
  33. if(isset($properties['defaultUser'])){
  34. $user_id = 0;
  35. $query = $modx->prepare(«SELECT * FROM {$tableUsers} WHERE `username`='{$properties['defaultUser']}' LIMIT 1»);
  36. $query->execute();
  37. $result = $query->fetchAll(PDO::FETCH_ASSOC);
  38. if(empty($result[0]) || !is_array($result))
  39. return;
  40. $user_id = $result[0]['id'];
  41. $type_price = $cUserFields->getUserPrice($user_id);
  42. $type_discount = $cUserFields->getUserDiscount($user_id);
  43. $type_proc_skd_kz = $cUserFields->getUserproc_skd_kz($user_id);
  44. if($type_price == -1)
  45. $type_price = 1;
  46. if($type_discount == -1)
  47. $type_discount = 1;
  48. if($type_proc_skd_kz == -1)
  49. $type_proc_skd_kz = 1;
  50. }
  51. }
  52. $result1 = array('price' => $type_price, 'discount' => $type_discount, 'proc_skd_kz' => $type_proc_skd_kz,'percent' => $percent);
  53. $result2 = array('price' => $type_price, 'discount' => $type_discount, 'percent' => $percent);
  54. $result3 = $result1 — $result2;
  55. return $result3;
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.06.2016, 17:05
Ответы с готовыми решениями:

как присвоить переменную js к переменной php
Подскажите, пожалуйста, как присвоит переменную javascript к переменной php. И возможно ли это...

Как передать значение переменной JS в переменную PHP?
Как передать значение переменной JS в переменную PHP? Можно и в сессионную переменную.

Как из переменной прочитать часть текста и передать искомый в другую переменную?
Как из переменной прочитать часть текста и передать искомый в другую переменную? Пример: ...

Если сумма значений a и b больше сорока двух, то вычесть из переменной c переменную b
как это делается

3
104 / 88 / 21
Регистрация: 19.05.2012
Сообщений: 458
14.06.2016, 11:49 2
Приведите в порядок код.
Приведите только нужную часть кода
0
0 / 0 / 0
Регистрация: 03.06.2016
Сообщений: 3
14.06.2016, 16:24  [ТС] 3
  1. $result1 = array('price' => $type_price, 'discount' => $type_discount, 'proc_skd_kz' => $type_proc_skd_kz,'percent' => $percent);
  2. $result2 = array('price' => $type_price, 'discount' => $type_discount, 'percent' => $percent);
  3. $result3 = array_diff_key($result1, $result2) + array_diff_key($result2, $result1);
  4. return $result3;
Перепробовал много вариантов, но вот на примере скажем этого варианта, что не так?
$result1 = 17107, $result2 = 16157, $result3 возвращает 0 вместо 950.

Добавлено через 2 часа 12 минут
PHP
1
2
3
4
5
6
$result1 = array('price' => $type_price, 'discount' => $type_discount, 'proc_skd_kz' => $type_proc_skd_kz,'percent' => $percent);
$result2 = array('price' => $type_price, 'discount' => $type_discount, 'percent' => $percent);
 
$result3 = array_sum($result1) - array_sum($result2);
 
return $result3;
тоже самое $result1 = 17107, $result2 = 16157, $result3 возвращает 0 вместо 950.
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16844 / 6723 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
17.06.2016, 23:05 4
видимо, значения в массиве вовсе не числовые, при преобразовании в числа получается 0.
0+0+0...+0 = 0
аналогично для второго array_sum.
0 - 0 == 0, что и наблюдается в $result3.

Не по теме:

Каким боком к этому всему относятся регулярки?

0
17.06.2016, 23:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.06.2016, 23:05
Помогаю со студенческими работами здесь

Почему я не могу вычесть значение из переменной
Я планирую увеличивать частоту мигания светодиода. Рулит этим делом переменная arr, с каждым...

Деление переменной на переменную
Добрый день, Вот такой вопрос. Предположим, есть int a, b Делим a/b - получаем...

Копирование переменной в переменную
У меня есть две переменных: buf DB 3 dup (' ') buf2 DB 3 dup (' ') Расположены в смежных...

Ссылка на переменную и переменная переменной
Комрады! Возник такой вопрос: Никак не могу понять то, что в теме писал. Особенно использование...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru