将对象数组的键写入(使用Foreach)到新数组会产生致命错误

时间:2015-03-25 作者:rkoller

我有以下问题,我已使用查询了帖子的附加媒体:

function abc_attachments( $post_id ) {
    $query = array(
        \'post_parent\'       => $post_id,
        \'post_type\'         => \'attachment\',
        \'post_status\'       => \'inherit\',
        \'post_mime_type\'    => \'image\',
        \'numberposts\'       => \'-1\'
        );
    $images = get_children( $query );
    return $images;
}
因此,我得到了一个对象数组。但不知何故,我无法将对象密钥传输到新的单独数组。例如,对象数组如下所示(我省略了包含的键值对):

Array
(
    [1074] => WP_Post Object
        (
        )

    [1067] => WP_Post Object
        (
        )
)
当我尝试使用foreach 然后将对象键写入我得到的数组

Catchable fatal error: Object of class WP_Post could not be converted to string
使用以下代码段:

    $media = abc_attachments( $post->ID );

    foreach( $media as $key ) {
        $arrayofids .= $key . ", ";
    }
    preprint($arrayofids);
有没有更优雅、更不致命的方法?

1 个回复
最合适的回答,由SO网友:rkoller 整理而成

好吧,我有点头晕;通过以下代码片段,我能够按预期工作:

    $media = abc_attachments( $post->ID );

    $arrayofids = array();
    foreach( $media as $key ) {
        array_push($arrayofids, $key->ID);
    }
    preprint($arrayofids);
从而产生以下输出:

Array
(
    [0] => 1072
    [1] => 1067
)

结束

相关推荐

前端出现CALL_USER_FUNC_ARRAY()错误

我已经阅读了其他关于这个问题的帖子,但我的帖子在一个根本上不同。。。错误中没有定义函数。它是这样写的:警告:call\\u user\\u func\\u array()要求参数1为有效回调,在/home/ovbar/public\\u html/wp includes/plugin中找不到函数“”,或者函数名无效。php在线496在没有定义函数的情况下,我从来没有看到过这个错误,所以我不知所措。我用All-in-One WP Migration 插件。有什么想法吗?以下是我迄今为止所做的:我已经检查了硬