在我的cakePHP控制器中有一个名为saveReport()
的动作,其中$attribute_ids
是一个数组,其中包含从Ajax帖子中获取的所有选定属性。
function saveReport()
{
echo $this->params['form']['formid'];
echo $this->params['form']['reportTitle'];
echo $this->params['form']['attr'];
$attribute_ids=$this->params['form']['attr'];
$comma_separated = explode(",", $attribute_ids);
for($i=0;$i<15;$i++)
{
echo $comma_separated[$i];
echo " ";
$this->data['Report']['title']=$this->params['form']['reportTitle'];
$this->data['Report']['form_id']=$this->params['form']['formid'];
$this->data['Report']['attr_id']=$comma_separated[$i];
$this->Report->saveAll($this->data);
}
}
如何识别$comma_separated
的长度$comma_separated
是一个数组,以便我可以在for循环中使用它,现在我默认使用了15 ...
答案 0 :(得分:4)
如果$comma_separated
是一个数组,您可以使用count找出它包含的元素数量。
例如,如果数组包含:
$comma_separated[0] = 'glop';
$comma_separated[1] = 'hello';
$comma_separated[2] = 'world';
您可以使用:
$result = count($comma_separated);
var_dump($result);
并且会得到:
int 3
您还可以使用foreach迭代数组的元素,而不是;这样,您就不需要知道它包含多少元素。
例如:
foreach ($comma_separated as $element) {
var_dump($element);
}
会得到你:
string 'glop' (length=4)
string 'hello' (length=5)
string 'world' (length=5)