【问题标题】:forloop for getting object用于获取对象的 for 循环
【发布时间】:2017-11-16 08:00:53
【问题描述】:

我有下面的 PHP forloop,$review 是具有 'avail_1'、'avail_2'、'avail_2' 到avail_40 值的对象

$review_array_count = array();

for ($i=1; $i <= 4 ; $i++) {
    if(is_object($review) && $review->avail_.$i == 'yes')
    {
     array_push($review_array_count, '1');
    }
}
echo count($review_array_count);

我正在计算有多少个avail_x 的值为'yes',所以我正在执行最多40 个的forloop,然后将1 推入数组并计算数组。

如何使用对象值作为avail_.$i?这不起作用。

谢谢,

【问题讨论】:

  • 试试$review-&gt;{'avail_'.$i}
  • @ChetanAmeta,谢谢它正在工作。

标签: php object for-loop


【解决方案1】:

您只想计算有多少个avail_x 的值为“yes”,对吗?

$count = 0;

foreach (get_object_vars($reviews) as $key => $value) {
    if($value == 'yes'){
        $count++;
    }
}

var_dump($count);

也许这会有所帮助。

【讨论】:

  • 这也是一个不错的选择,我只是添加了 if(is_object($review)) 来仅在有对象时评估 foreach!
【解决方案2】:

使用这个:

for ($i=1; $i <= 4 ; $i++) {
$testValObj = 'avail_'.$i;
$mainVal=$review->$testValObj;
    if(is_object($review) && $mainVal == 'yes')
    {
     array_push($review_array_count, '1');
    }
}
echo count($review_array_count);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-13
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 2011-01-23
    • 2017-12-29
    • 2015-06-12
    • 1970-01-01
    相关资源
    最近更新 更多