Имеем переменную: $t7 = 0.14 + 0.012 * $d; echo $t7; Как вывести не результат а его содержимое? Сейчас выводится: 0.26 А надо: 0.14+0.012*10
Содержимое переменной - это конечное значение, а не набор операторов и аргументов, его составляющих. PHP - императивный язык, не функциональный. Не использует монады и не строит граф операций из узлов. По этому достать из переменной цепочку, которая ее формирует, невозможно. Ее просто нет. Если надо вывести выражение, выводите выражение как текст: PHP: $t7 = 0.14 + 0.012 * $d; echo '0.14 + 0.012 * ' . $d . ' = ' . $t7;
Дело в том, что цифры могут изменяться: PHP: if ($a == 1) { $t7 = 0.14 + 0.012 * $d; } elseif ($a == 2) { $t7 = 0.18 + 0.012 * $d; } elseif ($a == 3) { $t7 = 0.23 + 0.012 * $d; } elseif ($a == 4) { $t7 = 0.31 + 0.012 * $d; } В одном случае нужно выводить значение, в другом — «набор операторов и аргументов».
@yomoto, или ещё вариант: PHP: $d = 2; $arr = [ [1 => 0.14, 0.18, 0.23, 0.31], 0.012, $d, ]; if(array_key_exists($a, $arr[0])) { $str7 = "{$arr[0][$a]} + {$arr[1]} * $arr[2]"; $t7 = $arr[0][$a] + $arr[1] * $arr[2]; } else { // throw new... } var_dump($t7, $str7);
Спасибо. Вышел из ситуации следующим образом: PHP: if ($a == 1) { $t7 = 0.14 + 0.012 * $d; $t7_1 = '0.14 + 0.012 × '; echo $t7_1$d = $t7; } elseif ($a == 2) { $t7 = 0.18 + 0.012 * $d; $t7_1 = '0.18 + 0.012 × '; echo $t7_1$d = $t7; }