2016-03-03 32 views
1

我想在函數中定義新的變量。如何在PHP函數中定義新的各種

function show() 
{//for e.g 
    $name = "john"; 
    $family = "cina"; 
    $old = "45"; 
} 
show(); 
echo "your name is $name ";//in another line 
echo "your family is $family ";//in another line 
echo "your old is $old ";//in another line 

感謝

+3

請參閱:http://stackoverflow.com/q/16959576/3933332 – Rizier123

+0

函數內部創建的變量只存在於該範圍內。請閱讀Rizier123鏈接的帖子。你不能在其他任何地方使用它們,而是在你創建變量的函數中使用 – DarkBee

+0

@ Rizier123謝謝,但它dosnt幫助我。 – mrjohn

回答

0

作爲一般規則,不這樣做。這不是很好,看起來很糟糕,但這是你需要的。

<?php 
$name = null; 
$family = null; 
$old = null; 
function show() 
{ 
    global $name, $family, $old; 
    $name = "john"; 
    $family = "cina"; 
    $old = "45"; 
} 

show(); 
echo "your name is $name ".PHP_EOL; 
echo "your family is $family ".PHP_EOL; 
echo "your old is $old ".PHP_EOL; 

我會推薦另一種寫這種方式(許多人之一)。您可以通過不同的方式查看其他答案。

class Singleton { 
     public static $name; 
     public static $family; 
     public static $old; 
} 

function show() 
{ 
    Singleton::$name = "john"; 
    Singleton::$family = "cina"; 
    Singleton::$old = "45"; 
} 

show(); 
echo "your name is ".Singleton::$name;//in another line 
echo "your family is ".Singleton::$family;//in another line 
echo "your old is ".Singleton::$old;//in another line 
+0

當你已經說不這樣做,你爲什麼要向OP顯示?這可以解決得更好。 – Rizier123

+0

謝謝。我需要這完全 – mrjohn

+0

謝謝@ Rizier123 :) – mrjohn

2

內部函數寫回聲如下

function show() 
{ 
    $name = "john"; 
    $family = "cina"; 
    $old = "45"; 
    echo $name." ".$family." ".$old; 
} 
show(); 
+0

不,我需要定義新的變量,這只是一個例如 – mrjohn

+0

你可以定義任何你想要的變量 –

2
function show() 
{ 
    $name = "john"; 
    $family = "cina"; 
    $old = "45"; 
    return $name." ".$family." ".$old; 
} 
echo show(); 

+0

這項工作,但我需要在不同的行中使用變量。我想只是定義變量。謝謝 – mrjohn

1

您也可以使用下列方式

function show() 
{ 
    $name = "john"; 
    $family = "cina"; 
    $old = "45"; 
    return $name." ".$family." ".$old; 
} 
echo  $res = show(); // john cina 45 
2

返回它從你的函數類似這樣的

function show() 
{//for e.g 
$name = "john"; 
$family = "cina"; 
$old = "45"; 
return $name . " " . $family . " " . $old; 
} 
$result = show(); 
echo $result; 
1

這是我應該怎麼辦呢=)

<?php 

function show() 
{ 
    $name = "john"; 
    $family = "cina"; 
    $old = "45"; 
    echo $name." ".$family." ".$old; 
} 
show(); 

?> 
3

你也可以考慮使用list();你必須讓你的功能略有變化,但它會工作。

function show(){ 
    $name = "john"; 
    $family = "cina"; 
    $old = "45"; 

    return array($name,$family,$old); 
} 

list($name,$family,$old) = show(); 

echo $name; 
echo $family; 
echo $old; 

請注意,爲了事項,在return array第一值將被分配給在list();所述第一變量和所述第二陣列值,所述第二變量在列表中,等等。

相關問題