php打印数组内容

时间:2013-12-07 14:20:03

标签: php arrays

我需要帮助打印此功能的内容: 来自:

http://drupalcontrib.org/api/drupal/contributions%21flag%21flag.module/function/flag_get_user_flags/7

$userFlags = flag_get_user_flags('user', null, $node->uid, null, false);

如果我使用print_r:

        print '<pre>';
        print_r(flag_get_user_flags('user', null, $node->uid, null, false));
        print '</pre>';

我明白了 -

Array
(
    [follow] => Array
        (
            [13] => stdClass Object
                (
                    [flagging_id] => 20
                    [fid] => 5
                    [entity_type] => user
                    [entity_id] => 13
                    [uid] => 1
                    [sid] => 0
                    [timestamp] => 1385845849
                )

            [15] => stdClass Object
                (
                    [flagging_id] => 21
                    [fid] => 5
                    [entity_type] => user
                    [entity_id] => 15
                    [uid] => 1
                    [sid] => 0
                    [timestamp] => 1385912237
                )

            [17] => stdClass Object
                (
                    [flagging_id] => 22
                    [fid] => 5
                    [entity_type] => user
                    [entity_id] => 17
                    [uid] => 1
                    [sid] => 0
                    [timestamp] => 1386040495
                )

            [18] => stdClass Object
                (
                    [flagging_id] => 23
                    [fid] => 5
                    [entity_type] => user
                    [entity_id] => 18
                    [uid] => 1
                    [sid] => 0
                    [timestamp] => 1386040515
                )

            [21] => stdClass Object
                (
                    [flagging_id] => 24
                    [fid] => 5
                    [entity_type] => user
                    [entity_id] => 21
                    [uid] => 1
                    [sid] => 0
                    [timestamp] => 1386043939
                )

            [14] => stdClass Object
                (
                    [flagging_id] => 25
                    [fid] => 5
                    [entity_type] => user
                    [entity_id] => 14
                    [uid] => 1
                    [sid] => 0
                    [timestamp] => 1386129658
                )

        )

)

当我使用时:

foreach($userFlags as $item) {
    echo $item;
}

我得到的就是印有“阵列”这个词。如果您熟悉drupal,我需要将每个entity_id转换为其作者。打印13,15等对我来说是一个好的开始。

感谢您的帮助 -

2 个答案:

答案 0 :(得分:2)

数组中有一个数组。在你的foreach之前拉出内部阵列:

$follow = $userFlags['follow'];
foreach($follow as $item) {
    echo $item->entity_id;
}

或者更简洁:

foreach($userFlags['follow'] as $item) {
    echo $item->entity_id;
}

答案 1 :(得分:0)

//@parram $data-array,$d-if true then die by default it is false
 //@author Your name

 function p($data,$d = false){

     echo "<pre>"; 
         print_r($data);
     echo "</pre>"; 

     if($d == TRUE){
        die();
     } 
} // END OF FUNCTION

每当你需要字符串或数组时,就会使用这个函数。有两个Patameters 1. $ data - 它可以是Array或String 2. $ d - 默认情况下它是FALSE但是如果你设置为true那么它将执行die()函数

在你的情况下,你可以这样写..

 $userFlags = flag_get_user_flags('user', null, $node->uid, null, false);

    foreach($userFlags as $item) {
        p($item['id']); //  If it is array
        p($item->id);   // If it is an Object
                        // To get benefit of this code Use above function of p in your code.
    }