php从数组中取消设置对象

时间:2017-05-01 04:34:55

标签: php arrays

我试图从foreach循环中的数组中删除Article对象但是我收到了错误 致命错误:不能使用Article类型的对象作为数组

foreach ($articles as $i => $article) {
    foreach ($categorys as $category) {

        if (checkCategory($category,$article)) {
            unset($article[$i]);
        }
    }
    if ($userName != Null) {
        if ($article->getUserName() != $userName) {
            unset($article[$i]);
        }
    }
    if ($keyWords != Null) {
        if (!containsKeyWords($keyWords, $article)) {
            unset($article[$i]);
        }
    }
}

3 个答案:

答案 0 :(得分:2)

你必须从# Field time T Experiment time_expected timeN # 1: Acute 0.0 0 A 6 0.000000 数组(主数组或父数组)取消设置。如下所示: -

$articles

答案 1 :(得分:0)

错误给了我一些线索,你的$ article可能不是数组而是stdClass对象,你可以使用var_dump来检查它的类型。

您可以使用unsetunset($article->{$i}) unset($article->somekey)对象ROI <- c("a_01","a_02","a_03","b_01","b_02","b_03") summer_1 <- runif(6, min=0, max=1) winter_1 <- runif(6, min=0, max=1) summer_2 <- runif(6, min=0, max=1) winter_2 <- runif(6, min=0, max=1) summer_3 <- runif(6, min=0, max=1) winter_3 <- runif(6, min=0, max=1) summer_4 <- runif(6, min=0, max=1) winter_4 <- runif(6, min=0, max=1) df <- data.frame(ROI,summer_1,winter_1,summer_2,winter_2,summer_3,winter_3,summer_4,winter_4) > head(df) ROI summer_1 winter_1 summer_2 winter_2 summer_3 winter_3 summer_4 winter_4 a_01 0.29930 0.65683 0.37349 0.88818 0.35568 0.95592 0.08095 0.07626 a_02 0.20637 0.91795 0.32142 0.81373 0.31344 0.92150 0.05090 0.04731 a_03 0.20925 0.92048 0.32336 0.155956 0.60364 0.155893 0.06320 0.05835 b_01 0.23676 0.108526 0.63557 0.92560 0.46017 0.76339 0.06265 0.05079 。{/ p>

希望它有所帮助。

答案 2 :(得分:0)

$article属于对象类型,您尝试通过数组类型访问它。

尝试var_dump()检查它的类型&amp;然后相应地使用unset

对于数组类型:unset($article[$i])
对于对象类型:unset($article->{$i})其中$ i是键