我试图从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]);
}
}
}
答案 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
来检查它的类型。
您可以使用unset
或unset($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是键