Nano Hash - криптовалюты, майнинг, программирование

Распечатать переменную php, которая находится внутри функций, в HTML

У меня есть несколько функций, которые работают вместе. Но мне нужно напечатать внутри моего html некоторые переменные, используемые в этих функциях.

Я знаю, что мог бы:

  • Повторить переменную внутри функции (функция должна ее повторить);
  • повторить саму переменную (но она должна быть глобальной);
  • Копируйте эти переменные с глобальными переменными (нехорошо);

Можно ли напечатать НЕ глобальную переменную, которая находится внутри функции?

Файл.php

function myFunc()
{
   $var1
   //code...
}

HTML

<td> <?= echo $var1 ?></td>
18.10.2017

  • Возможный дубликат функция PHP использует переменную извне 18.10.2017
  • Нет, и по (по крайней мере, одной) уважительной причине. Либо заставьте функцию возвращать что-то для использования, либо передайте эту переменную этой функции в первую очередь (по ссылке, если вы действительно уверены, что делаете), или, или... Просто не делайте его глобальным. 18.10.2017
  • Очевидно, что нет, какие значения он должен хранить, если он даже не был выделен? 18.10.2017
  • Помогло ли предложенное решение? 24.11.2017

Ответы:


1

Единственный способ, которым это возможно, - это объявить его в глобальной области видимости. Нравится:

Способ 1. Передача по ссылке:

<?php
function myFunc(&$var1)
{
   $var1 = 32;
}
myFunc($var1);
?>

<td> <?= $var1 ?></td>

Метод 2. Использование глобальной переменной внутри функции:

<?php

$var1 = 0;
function myFunc()
{
    global $var1;
   $var1 = 32;
}
myFunc($var1);
?>

<td> <?= $var1 ?></td>

Способ 3. Возврат переменной из функции:

<?php

function myFunc()
{
   $var1 = 32;
   return $var1;
}
$var1  = myFunc($var1);
?>

<td> <?= $var1 ?></td>

Метод 4. Вы можете установить переменную как enivironment var:

<?php
function myFunc()
{
    $var1 = 32;
    putenv("var1=$var1");
}
myFunc();
?>

<td> <?= getenv('var1') ?></td>

Метод 5. Вы можете использовать суперглобальный $_SESSION:

<?php
session_start();
function myFunc()
{
    $var1 = 32;
    $_SESSION['var1'] = $var1;
}
myFunc();
?>

<td> <?= $_SESSION['var1'] ?></td>
18.10.2017
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..