2014-05-12 76 views
0

我是一個多維數組的新手PHP在多維數組中添加新數據

我有一個將數據存儲到數組的表單。
我想讓我的用戶重新使用表單並將數據存儲到數組中。
所以我的想法是一個多維數組,每次使用表單時都會存儲一個新數組。

但我的問題是,我不知道如何做到這一點。

這裏是我的形式:

  $customer = ''; 
      $customer .= '<tr><td>customername:<br/><input type="text" name="customer[customername]" value="" /> </td></tr>'; 
      $customer .= '<tr><td>customertitle 1:<br/><input type="text" name="customer[customertitle1]" value="" /> </td></tr>'; 
      $customer .= '<tr><td>customeremail 1:<br/><input type="text" name="customer[customeremail1]" value="" /> </td></tr>'; 
      $customer .= '<tr><td>customertitle 2:<br/><input type="text" name="customer[customertitle2]" value="" /> </td></tr>'; 
      $customer .= '<tr><td>customeremail 2:<br/><input type="text" name="customer[customeremail2]" value="" /> </td></tr>'; 
      echo $customer; 

這節省了形式的數組:

if(isset($_POST['Submit'])) { 
$customer = $_POST['customer']; 

,這表明該數組的第一個值:

 $customers = array(get_option('customer')); 
     foreach($customers as $customer){ 
      echo $customer["customername"]; 
     }   

希望這讓任何人都看到!

+0

你在調用Wordpress的get_option嗎? –

+0

「每次使用表單時都保存一個新數組」意味着您正在構建來自多個表單提交的數據集合。如果是這樣,您可能需要某種持久性數據存儲(如數據庫)。 PHP進程狀態不會在頁面加載中持續存在,因此多維數組無法提供幫助。 –

+0

@watcher是的,這是一個wordpress調用。 – Interactive

回答

-1

我認爲你需要使用ArrayObject

例:

<?php 
// add a new consumer in your new array 
    $consumer["name"] = "John Doe"; 
    $consumer["email"] = "[email protected]"; 
    ... 
    $a = new ArrayObject(); 
    $a->append($consumer) 


    // for get a consumer in the array 
    foreach ($arr as $key => $value) 
    { 
      // Some instruction 
    } 
?> 

希望它會幫助你

+0

目前尚不清楚這與問題的關係。將單個哈希放入數組中並不能真正完成任何事情。 –

0

是想通了

這裏也適用於那些希望瞭解的人: 首先創建一個函數來獲取當前數組。 從形式update_option保存新的價值

function savearray(){ 
if(isset($_POST['Submit'])) { 
// get the option 
$customers = get_option('customers'); 
// add new data to the option 
$customers[] = $_POST['customers']; 
// save it back to the db 
update_option('customers', $customers); 
} 

然後創建一個名字

放置數據陣列
<?php 
$customers = ''; 
$customers .= '<tr><td>Name:<br/><input type="text" name="customers[name]" value="" /> </td></tr>'; 
$customers .= '<tr><td>Contact 1:<br/><input type="text" name="customers[contact1]" value="" /> </td></tr>'; 
echo $customers; 
?> 

所以這個工程.... 現在,下一步的形式。

我想只顯示客戶的名稱並創建一個指向特定客戶的數據的鏈接。 所以我這樣做:

<?php  
$customers = get_option('customers'); 
foreach($customers as $val){ 
    echo '<a href="#">'.$val["name"] . '</a><br>'; 
}   
?> 

這告訴我,我要查看THA陣列中所有的costumers的名稱,並創建一個鏈接。 我不知道如何定位數組中的特定數據。

任何人?????