0

可能重复:
能够在 print_r() 的输出中看到一个变量,但不确定如何在代码中访问它

如何从该数组中的 WP_User 对象中提取 ID:

Array
(
[0] => Array
    (
        [lid] => WP_User Object
            (
                [data] => stdClass Object
                    (
                        [ID] => 24
                        [user_login] => John Foo
                        [user_pass] => $P$BP0Qa4
                        [user_nicename] => john-foo
                        [user_email] => johnfoo@gmail.com
                        [user_url] => 
                        [user_registered] => 2012-10-10 11:16:24
                        [user_activation_key] => 
                        [user_status] => 0
                        [display_name] => John Foo
                    )

                [ID] => 24
                [caps] => Array
                    (
                        [commissie] => 1
                    )

                [cap_key] => sa_wp_capabilities
                [roles] => Array
                    (
                        [0] => commissie
                    )

                [allcaps] => Array
                    (
                        [edit_posts] => 1
                        [read] => 1
                        [level_1] => 1
                        [level_0] => 1
                        [delete_posts] => 1
                        [commissie] => 1
                    )

                [filter] => 
            )

        [lid_rol] => Voorzitter
    )
)

我使用以下代码:

<?php 

$rows = get_field('commissie_lid');
if($rows)
{
    foreach($rows as $row)
    {
        $values = get_field('commissie_lid');
            if($values)
            {
                echo '<ul>'; 
                foreach($values as $value)
                {
                    foreach ($value['lid'] as $liddata) {
                        echo $liddata->ID;                  

                }

               // allways good to see exactly what you are working with
               echo '<pre>';
                   print_r($values);
               echo '</pre>';

            } 
            echo '</ul>';
        } 
    }

}

 ?>

它返回的用户id,还有很多如下的注意事项:

注意:试图获取非对象的属性

有人能帮我吗?

4

1 回答 1

1

我认为问题出在这里:foreach ($value['lid'] as $liddata) {

此时,$value['lid']WP_User对象本身,因此 foreach 最终会迭代WP_User对象的所有属性。

如果您消除了该 foreach,您应该能够从$value['lid'](例如$value['lid']->ID,或$value['lid']->roles[0])直接访问对象的公共属性。

希望有帮助。

于 2012-10-12T22:14:42.163 回答