[英]passing an array from an user defined action in controller to a view in Yii
[英]YII send array or array of array from view to controller action via form post
我對兩個不同類型的數據有一個疑問。
我在Yii中有一個視圖,它有一個窗體控件。 我想將一個array和一個array數組發送到控制器,以執行我的create動作。
數組是: $arraySons = ('albert','francis','rupert');
數組的數組是$arrayFather = ('1'=>array(6,7,8));
我必須使用某些控件,因此表單會將其發布到$_POST
嗎?...否則無法完成,我必須使用JavaScript?
通常,在HTML表單中,可以通過具有多個具有相同名稱的字段和數組符號來創建數組。
<input name="sons[]">
<input name="sons[]">
當您提交表單$ _POST ['sons']時,它將是一個數組,可以按以下方式處理:
foreach ($_POST['sons'] as $son) {
echo 'Son of the father is '.$son."\n";
}
您可以按照@crafter的答案創建表格。 我只想詳細介紹一下:
<input type="hidden" name="sons[]" value="albert">
<input type="hidden" name="sons[]" value="rupert">
等等
然后為父親做類似的事情:
<input type="hidden" name="father[1][]" value="6">
<input type="hidden" name="father[1][]" value="7">
<input type="hidden" name="father[1][]" value="8">
但是,如果用戶不需要查看數據,則可以准備一個包含數據的JSON對象,並將其發布到1個字段中,這對我來說似乎更容易
<input type="hidden" name="father" value="<?= json_encode($arrayFather); ?>">
<input type="hidden" name="sons" value="<?= json_encode($arraySons); ?>">
然后您可以從發布中獲取數據並使用json_decode
對其進行解碼
$myArrayFather = json_decode($_POST['father']);
$myArraySons = json_decode($_POST['sons']);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.