所以,我有以下数据库结果:
Array
(
[0] => stdClass Object
(
[id] => 1
[user] => 1
[img] => 2016/02/img_8488.jpg
[url] => /p=?44
[sent_date] => 2016-02-13 00:00:00
)
[1] => stdClass Object
(
[id] => 2
[user] => 185
[img] =>
[url] => /?p=54
[sent_date] => 2016-02-06 00:00:00
)
)
如何从查询结果中删除[id]
和[sent_date]
?
我不确定我是否使用未设置权。
unset($results[0]['id']);
$reindex = array_values($results);
$objectarray = $reindex;
答案 0 :(得分:1)
使用unset($results[0]->id);
和unset($results[0]->sent_date)
代替它,它应该有用。如果要在所有数组对象中执行此操作:
for($i = 0; $i<sizeof($results); $i++)
{
unset($results[$i]->id);
unset($results[$i]->sent_date);
}
答案 1 :(得分:1)
您可以创建新数组,而不是删除或取消设置;
$i = 0;
$newResult = array();
foreach($result as $value){
$newResult[$i]["user"] = $value->user;
$newResult[$i]["img"] = $value->img;
$newResult[$i]["url"] = $value->url;
$i++;
}
print_r($newResult);
$newResult
将返回新数组,原始数组保持不变,如果需要,可以使用它。
或者必须删除索引,而不是在foreach循环中使用unset:
unset($value->id);
unset($value->sent_date);
旁注:
另请注意,您不能将其用作$value["id"]
,因为它的属性不是数组索引。