@Elidomadto

Как изменить значение переменной на лету?

Всем привет!
Искал в интернете, ничего дельного не нашел.
Вопрос в том, могу ли я изменить значение переменной на лету (если я правильно понимаю, во время выполнения скрипта)? И если да, то как?
Допустим, у меня есть файл require.php:
<?php
$percent = '50';
$amount = $amount/100*$percent+$amount;
?>

так же есть файл index.php:
<?php
require('require.php');

$amount = '100';
echo $amount;
?>

Результат: 100
Я ожидал: 150
Каким образом я могу осуществить это?
Пришло в голову:
<?php
$amount = '100';
require('require.php');
echo $amount;
?>

Однако реквайрить/инклюдить файл посередине скрипта не вариант. Возможно есть какие-то методы, о которых мне не известно?
Заранее благодарю!
  • Вопрос задан
  • 2416 просмотров
Решения вопроса 1
KorsaR-ZN
@KorsaR-ZN
Правильным решением будет создание функции, и определение ее в файле 'require.php'

Файл require.php
function calculateAmount($amount, $percent = 50)
{
   return $amount / 100 * $percent + $amount;
}


Файл index.php
require('require.php');
echo calculateAmount(100);


P.S Числа задавайте, как числа, а не как строки, т.е без кавычек.
И почему вы решили, что require по середине скрипта это плохо?
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
DmitriyEntelis
@DmitriyEntelis
Думаю за деньги
Если бы получилось 150 а не 100 это был бы полный абзац всему программированию.
Программа выполняется строго в том порядке в котором записаны команды.
require подключает файл как php код.

весь ваш первоначальный пример эквивалентен
<?php
$percent = '50';
$amount = $amount/100*$percent+$amount;

$amount = '100';
echo $amount;


Ну а про функции тут уже без меня написали)
Ответ написан
nalomenko
@nalomenko
Руководитель отдела разработок в студии «Lava»
А функции что, не подходят? Они так-то тоже умеют с глобальными переменными работать :)

function changeAmount($percent)
{
	global $amount;
	$amount = $amount/100*$percent+$amount;
}

$amount = 100;

changeAmount(50);

echo $amount;
Ответ написан
Sanasol
@Sanasol Куратор тега PHP
нельзя просто так взять и загуглить ошибку
Однако реквайрить/инклюдить файл посередине скрипта не вариант.

почему?

А вообще
Сделать функцией
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы