首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >获取并计算stdClass中的所有内容

获取并计算stdClass中的所有内容
EN

Stack Overflow用户
提问于 2018-07-03 07:22:42
回答 3查看 41关注 0票数 -1

这是我的数组:

代码语言:javascript
复制
Array ( 
   [0] => stdClass Object 
       ( [form] => Change Dormitory 
         [data] => stdClass Object 
                 ( [element] => input
                   [name] => form-start 
                   [class] => form-control mdate 
                   [type] => text 
                   [label] => Start ) 
           [0] => stdClass Object 
                 ( [element] => input 
                   [name] => form-end 
                   [class] => form-control mdate 
                   [type] => text 
                   [label] => End ) 
) 

我想要计算[data]中的所有值,它是2,但我不知道如何获得它,并在foreach中使用它。我的尝试是:

代码语言:javascript
复制
<?php
    $i=0;
    foreach ($param_form as $value) {
        print_r($value);
    $i++;
    }
?>

count((array)$param_form[$i]->data);

这是如何实现的:

代码语言:javascript
复制
$form = array(
    array(
        'form' => 'Change Dormitory',
        'data' => array(
                        'element'=>'input',
                        'name'=>'form-start',
                        'class'=>'form-control mdate',
                        'type'=>'text',
                        'column'=>'col-md-4',
                        'label'=>'Start'
                    ),
                    array(
                        'element'=>'input',
                        'name'=>'form-end',
                        'class'=>'form-control mdate',
                        'type'=>'text',
                        'column'=>'col-md-4',
                        'label'=>'End'
                    ),

);

$new = json_encode($form);

$data = new stdClass;
$data->param_form = json_decode($new);

$this->load->view('my_view',$data);
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-07-03 07:39:11

我认为这就是您想要创建数组的方式

代码语言:javascript
复制
$form = array(
    array(
        'form' => 'Change Dormitory',
        'data' => array(
                    array(
                        'element'=>'input',
                        'name'=>'form-start',
                        'class'=>'form-control mdate',
                        'type'=>'text',
                        'column'=>'col-md-4',
                        'label'=>'Start'
                    ),
                    array(
                        'element'=>'input',
                        'name'=>'form-end',
                        'class'=>'form-control mdate',
                        'type'=>'text',
                        'column'=>'col-md-4',
                        'label'=>'End'
                    )
                ),

);

现在,data属性将是一个包含2个子数组[0] and [1]的数组。

票数 1
EN

Stack Overflow用户

发布于 2018-07-03 07:43:34

首先,你需要确保你的数组是正确的$form。关键字data需要是一个要计数的数组,并且在数组中有项/数组。如果你刚开始,使用一个好的文本编辑器肯定会有所帮助。

喜欢

代码语言:javascript
复制
$form = array(
    array(
        'form' => 'Change Dormitory',
        'data' => array(
            array(),
            array(),
        ),
    ),
);

然后,可以通过echo count($data->param_form[0]->data);对数据中的项进行计数

票数 0
EN

Stack Overflow用户

发布于 2018-07-03 07:59:37

代码语言:javascript
复制
$form = array(
    'form' => 'Change Dormitory',
    'data' => array(
        array(
            'element'=>'input',
            'name'=>'form-start',
            'class'=>'form-control mdate',
            'type'=>'text',
            'column'=>'col-md-4',
            'label'=>'Start'
        ),
        array(
            'element'=>'input',
            'name'=>'form-end',
            'class'=>'form-control mdate',
            'type'=>'text',
            'column'=>'col-md-4',
            'label'=>'End'
        ),
    ),
);

$data->param_form = $form;
$this->load->view('my_view', $data);

计数:echo count($param_form['data']);

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51144793

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档