Imprimir variável global dentro de função [Ajuda]

  • Autor Autor mafiabacklinks
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
M

mafiabacklinks

Beta
Usuário com poucas negociações! Use sempre o saldo do ForoBeta!
Hola chicos, que tal...

Estoy aprendiendo PHP, alguien podría explicarme por qué no se puede imprimir la variable global dentro de un ámbito local?

Inserir CODE, HTML ou PHP:
<?php

global $msg;
$msg="Mensaje";

function imprimir(){
    echo "Msg: ".$msg;
}

imprimir();
imprimir();

?>
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
Esto no es recomendable.

PHP:
<?php
    
$a = 1;
$b = 2;

function Suma()
{
    global $a, $b;

    $b = $a + $b;
}

Suma();
echo $b;

?>

Tambien incorrecta pero mas acertada
PHP:
<?PHP

foo();
echo $a; // echoes nothing

bar();
echo $b; //echoes "b";

function foo() {
  $a = "a";
  global $a;
}

function bar() {
  global $b;
  $b = "b";
}

?>

Usa static para declarar funciones ambiguas y usa extract globals para extraer variables globales.

PHP:
<?php

function add($a, $b) {
 return $a + $b;
}
$funcName = 'add';
echo $funcName(1, 2); // outputs 3

?>

Debes seguir el patron de unica funcionalidad y variables puras, pasa las variables que requieras cuando llamas a la funciones.

PHP:
<?php
// Forma correcta
$msg = 'Mensaje';

function imprimir(String $text){
    echo $text;
}

imprimir($msg);

// Forma optima

function imprimir(String $text) {
    return $text;
}

$func = 'imprimir';
echo $func('Contenido!');


?>
 
Muchísimas gracias!
 

Tópicos similares

Voltar
Topo