简体   繁体   中英

How do I make a variable from outside a function work in that function?

function nothing() { 
    echo $variableThatIWant; 
}

The better way is to pass it as an argument.

function nothing($var) {
    echo $var;
}

$foo = 'foo';
nothing($foo);

The evil way, and I dont know why I'm even showing you this, is to use global.

function nothing() {
    global $foo;
    echo $foo;
}

$foo = 'foo';
nothing();

You can put "global" before the variable you want to use, Like this :

<?php
    $txt = "Hello";
    function Test() {
        global $txt;
        echo $txt;
    }
    Test();
?>

OR : you can passed it as parameter, Like this :

<?php
    $txt = "Hello";
    function Test($txt) {
        echo $txt;
    }
    Test($txt);
?>

source : http://browse-tutorials.com/tutorial/php-global-variables

You have to use global .

$var = 'hello';

function myprint()
{
   global $var;
   echo $var;
}

You can also use a class property (or member variable) if you are inside a class:

<?php

$myClass = new MyClass();
echo $myClass->nothing();

class MyClass {

  var $variableThatIWant = "something that I want";

  function nothing() { 
    echo $this->variableThatIWant; 
  }
}

Codepad example

You can pass it by reference if you want to modify it inside the function without having to return it:

$a = "hello";
myFunction($a);
$a .= " !!";
echo $a; // will print : hello world !!

function myFunction(&$a) {
  $a .= " world";
}

Codepad example

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM