2011-07-22 60 views
0

我想從函數getaddress獲取變量$ place並將該值傳遞給函數breakintostrings。看來我不能得到變量$的地方。php函數變量作用域

<?php 
    $username ="1224hammer"; 
    getaddress ($username); 
    function getaddress($username) 
    { 
    $place = row['place']; 

    function format_address($record) 
     { 
     function breakintostrings($x,$y,$z) 

     } 
     breakintostrings($place,"$y","$z") 
    } 
    ?> 
+0

你錯過了幾大括號那裏......還有'行'缺少'$' – nico

+0

這是怎麼回事? – Gumbo

+0

可以解釋一下你想要完成的任務嗎? – erisco

回答

0

創建變量$place外的getaddress功能和使用global關鍵詞將其導入到你的breakintostrings功能:

$place = ''; 

function getaddress($username) 
{ 
    $place = row['place']; 
} 

function breakintostrings($x,$y,$z) 
    global $place; 
    // more code 
} 
+0

我需要$ breakintostrings的地方 – karto

+0

我想把$ place作爲$ X的價值在breakintostrings – karto

0

您可以通過返回變量$ place與return語句來獲取值,但請不要嵌套您的函數。請

0

不要嵌套你的功能。相反,嘗試這樣的事:

function getaddress($username){ 
    return row['place']; // What is row? 
} 
function breakintostrings($address,$y,$z){ 
    // do whatever 
} 

$address = getaddress($username); 
breakintostrings($address,"$y","$z"); 
+0

:我明白了。但我包括很多文件,使得它如此 – karto

+0

@karto包括任何數量的文件不應該要求你鳥巢你的功能。 – wanovak

+0

謝謝你。但我必須對此進行硬編碼。我已經筋疲力盡 – karto