您所遇到的大多数只是PHP错误。
首先,破折号在变量名中不是有效字符,因此在这方面会遇到问题--badge-id-$badge_ID
-- 不管怎样。您应该改为使用下划线。
其次,您需要事先构造整个对象变量字符串,而不是在使用时尝试构造它。
例如
$badge_ID = $post->ID;
$badge_str = "badge_id_{$badge_ID}";
if ($badge_ID == $current_user->$badge_str) {
echo \'Yay\';
}
第三,我很确定您的数据结构比需要的更复杂。你必须有一个奇怪的结构
badge_id_*
喜欢
$current_user->badge_id_123 = 123;
使用众多不同的badge ID对象变量名
$current_user->badge_id = 123
. 如果您这样做了,您可以简单地做到:
$badge_ID = $post->ID;
if ($badge_ID == $current_user->badge_id) {
echo \'Yay\';
}