PHP打印数组内容

3
我需要帮助打印这个函数的内容: 它来自于: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;
}

我只打印出了单词“Array”。如果您熟悉Drupal,最好能将每个entity_id转换为其作者。对我来说,打印13、15等数字是一个好的开始。
谢谢任何帮助!

尝试:foreach($userFlags['follow'] as $item) { var_dump ($item); } - anubhava
var_dump类似于print_r - 所以我们只需获取:code object(stdClass)#116 (7) { ["flagging_id"]=> string(2) "19" ["fid"]=> string(1) "5" ["entity_type"]=> string(4) "user" ["entity_id"]=> string(1) "1" ["uid"]=> string(2) "59" ["sid"]=> string(1) "0" ["timestamp"]=> string(10) "1385845765" } object(stdClass)#117 (7) { ["flagging_id"]=> string(2) "27" ["fid"]=> string(1) "5" ["entity_type"]=> string(4) "user" ["entity_id"]=> string(2) "17" ["uid"]=> string(2) "59" ["sid"]=> string(1) "0" ["timestamp"]=> string(10) "1386167853" } code - daveferrara1
2个回答

2

在使用foreach之前,需要先将数组中的嵌套数组取出来:

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

更简洁地说:
foreach($userFlags['follow'] as $item) {
    echo $item->entity_id;
}

我们抛出一个错误:致命错误:无法将stdClass对象用作数组。 - daveferrara1

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

每当您需要字符串或数组时,请使用此函数,它将非常好用。有两个参数:1. $data - 它可以是数组或字符串;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.
    }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接