2013-03-29 193 views
-1

我試圖讓我的頭繞着數組。這是上一個問題的後續。 PHP How can I pass values from one array to another?如何將數組作爲變量傳遞給新函數php

所以,我已經找到了如何從一個數組的數據傳遞到另一個感謝:Explosion Pills但現在我試圖把數組,並通過它傳遞給一個新的功能,然後創建新的數組在新功能中。我猜這個比現在對我來說比較容易。

這裏是數組:

$theSetup = array(

     'option1' => array('title'=>'my_title','label'=>'The Big Title','val'=>'NoneyoBizness'), 
     'option2' => array('title'=>'my_watch,'label'=>'Big Watch','val'=>'Seiko'), 
     'option3' => array('title'=>'facebook','label'=>'Facebook Page','val'=>'http://facebook.com/bigwatch'), 

); 

這裏是我的測試功能:

function testArray($theSetup) { 
    foreach($theSetup as $v) { 
     $defaultOptions[$v['title']] = $v['val']; 
    } 
    foreach($defaultOptions as $k=>$v) { 
     echo $k .' : '.$v .'<br>'; 
    } 
} 
testArray($theSetup); 

運行代碼後,我得到一個錯誤:undefined variable theSetup

+2

你可以張貼的完整代碼?所以我們知道你在哪裏創建$ theSetup – Nelson

+1

你上哪兒去定義'$ theSetup'範圍有多大?如果它在不同的範圍/上下文中,PHP將無法找到它。 –

+1

這是一個簡單的調試問題。 –

回答

1

您需要使用文本編輯器當你的PHP代碼有錯時顯示你。

這工作得很好:

<?php 
    $theSetup = array(

      'option1' => array('title'=>'my_title','label'=>'The Big Title','val'=>'NoneyoBizness'), 
      'option2' => array('title'=>'my_watch','label'=>'Big Watch','val'=>'Seiko'), 
      'option3' => array('title'=>'facebook','label'=>'Facebook Page','val'=>'http://facebook.com/bigwatch'), 

    ); 

    function testArray($theSetup) { 
     foreach($theSetup as $v) { 
      $defaultOptions[$v['title']] = $v['val']; 
     } 
     foreach($defaultOptions as $k=>$v) { 
      echo $k .' : '.$v .'<br>'; 
     } 
    } 
    testArray($theSetup); 
?> 

這不:

<?php 
    $theSetup = array(

      'option1' => array('title'=>'my_title','label'=>'The Big Title','val'=>'NoneyoBizness'), 
      'option2' => array('title'=>'my_watch,'label'=>'Big Watch','val'=>'Seiko'), 
      'option3' => array('title'=>'facebook','label'=>'Facebook Page','val'=>'http://facebook.com/bigwatch'), 

    ); 

    function testArray($theSetup) { 
     foreach($theSetup as $v) { 
      $defaultOptions[$v['title']] = $v['val']; 
     } 
     foreach($defaultOptions as $k=>$v) { 
      echo $k .' : '.$v .'<br>'; 
     } 
    } 
    testArray($theSetup); 

?> 

不同的是我關閉了引號後 「my_watch。」

輸出

This works fine: my_title : NoneyoBizness 
my_watch : Seiko 
facebook : http://facebook.com/bigwatch 
+0

。你想詳細說明一下嗎? – Starfs

+0

Emacs的Adobe DreamWeaver,NetBeans,Aptana,Komodo,Notepad ++和GUI版本都具有代碼語法突出顯示功能,可以在代碼中發生意外事件時告訴您。就像你在這個頁面上的例子,它會告訴你某些東西沒有被正確引用。 –