我希望能夠發佈包含數組...發佈一個數組到PHP文件
$food = array (
'food_1' => 'ice cream ',
'food_2' => 'pizza'
);
<input type="text" id="in_foods[]" value="<?=$food;?>" />
到另一個頁面,但它似乎並不奏效。我究竟做錯了什麼?
我希望能夠發佈包含數組...發佈一個數組到PHP文件
$food = array (
'food_1' => 'ice cream ',
'food_2' => 'pizza'
);
<input type="text" id="in_foods[]" value="<?=$food;?>" />
到另一個頁面,但它似乎並不奏效。我究竟做錯了什麼?
一個清潔溶液將是:
$foods = implode(',',$foods);
:
1-使用內爆函數陣列轉換成一個字符串
2-將其放置在要提交的輸入文本字段中:
<input type="text" id="foods" value="<?=$food;?>" />
3-在其他頁面轉換的字符串返回數組:
$foods = explode(',',$_POST['foods'])
嘗試;)
這正是我要找的,謝謝! :) – Nomad 2014-09-30 12:26:36
你不能只發布這樣的數據結構。你應該得到一個通知,說你試圖將數組轉換爲字符串。
請考慮將您的數組放入會話中。這樣它保持爲調用之間的數組。
session_start();
$_SESSION['food'] = $food;
我想你不想從預先定義好的食物列表中剔出你喜歡的食物或類似的東西。在這種情況下,<input type="text">
字段不是正確的選擇。改爲使用<input type="checkbox">
(或<select multiple>
)。
$foodOptions = array('burger', 'vergtables', 'berries')
foreach($foodOptions as $foodOpt) {
$checked = in_array($foodOpt, $foods)?' checked':null;
echo '<input type="checkbox" value="' , $foodOpt , '" name="in_foods[]"', $checked ,'><br>';
}
嘗試使用此代碼:
<?php
$food = array (
'food_1' => 'ice cream ',
'food_2' => 'pizza'
);
$food = implode(",", $food);
?>
<input type="text" id="in_foods[]" value="<?=$food;?>" />
你在做什麼? – diEcho 2014-09-30 12:17:38
您不能在單個輸入字段中發佈非標量數據類型。您可以爲此使用複選框列表。 – TiMESPLiNTER 2014-09-30 12:17:40
你如何在另一個頁面訪問它? – Jenz 2014-09-30 12:17:48