我需要帮助打印此功能的内容: 来自:
$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等对我来说是一个好的开始。
感谢您的帮助 -
答案 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.
}