在cakephp中查找数组长度

时间:2009-09-14 03:57:46

标签: php cakephp

在我的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 ...

1 个答案:

答案 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)