这是我的PHP代码:
$allids_arr = $_REQUEST['allids'];
print_r($allids_arr);
echo $arr_count = count($allids_arr);
阵列打印如下:
Array (
[0] => 26
[1] => 27
[2] => 28
[3] => 29
[4] => 30
[5] => 31
[6] => 32
[7] => 33
)
但计数显示为1
。
但正确的答案是8
。
我的代码中有什么问题?
编辑:
我创建了数组: 这是我的数组创建的代码:
$allids = array();
$ikall = 0;
foreach($alldata as $rwosall){
$allids[$ikall] = $rwosall['journelmodel']['id'];
$ikall++;
}
$this->set('alldataids', $allids);
这是在我的控制器中。在我的视图页面中:
<input type="hidden" readonly="" id="allids" class="input1" name="allids" value="<?php print_r($alldataids);?>">
表格提交时我要求提供此值。
答案 0 :(得分:2)
首先,您的代码中几乎没有错误。
解决方案: 1.您可以将值指定为逗号分隔 比如“x,y,z”
答案 1 :(得分:0)
你需要:
echo count($allids_arr);
或
$arr_count = count($allids_arr);
echo $arr_count;
:)
答案 2 :(得分:0)
$_REQUEST
包含$_GET, $_POST and $_COOKIE.
但它只是一个默认值,取决于variables_order;并且不确定你是否想要使用cookies。
如果我必须选择,我可能不会使用$_REQUEST
,我会选择$_GET or $_POST
- 取决于我的应用程序应该做什么(即一个或另一个,但不是两个):一般来说:
You should use `$_GET` when someone is requesting data from your application.
And you should use `$_POST` when someone is pushing (inserting or updating ; or deleting) data to your application.
无论哪种方式,表演都没有太大区别:与你的其他剧本相比,差异可以忽略不计。
答案 3 :(得分:0)
试试这个:
<?php
$foo = $_REQUEST['foo'];
print_r($foo);
echo $arr_count = count($foo);
?>
使用此查询:
sample.php?foo[]=test&foo[]=baz&foo[]=foo
返回正确的结果:
Array ( [0] => test [1] => baz [2] => foo ) 3
...可能如果你对数组和参数使用相同的名称,那么效果很好。
希望这有帮助。