我试图遍历phpbb表中名为phpbb_posts的行,并在phpbb的“post_subject”列中提取每个条目,并将其值与Wordpress PHP文件中的预定义字符串进行比较,但我遇到了一些问题 - 表达式“评价为真。
我的phpBB表安装在WP的数据库中,因此我可以完全访问这些值。
请参阅下面的代码以演示我遇到的问题。
function matchPhpBBTopic()
{
global $wpdb;
$wp_post_title_string = get_the_title();
$result = $wpdb->get_results("SELECT * FROM phpbb_posts");
foreach($result as $row)
{
$phpbb_post_title_array = array($row->post_subject);
$phpbb_post_title_string = implode("", $phpbb_post_title_array);
// One of the values in $row->post_subject contains
// the value in $wp_post_title_string
if (strcmp($wp_post_title_string, $phpbb_post_title_string) == 0)
{
// This line never runs but the $wp_post_title_string value
// is there, in the table, I've printed it and it's there
echo 'We found a match!<br>';
}
}
}
任何帮助都将不胜感激。
所以换句话说,我在WP中发布了一个主题,我在phpBB中发布了完全相同的主题,我想迭代phpBB的表,当我找到主题时,我想要运行一些代码。我不明白为什么“if”表达式没有运行。
答案 0 :(得分:0)
你不能这样做:
if($ wp_post_title_string == $ phpbb_post_title_string){}
我认为strcmp()不合适。它将字符串转换为编码数字。
同时检查大小写,空格和不同的编码。
首先执行strtolower()和trim(),看看你得到了什么。
看起来你的主题和头衔也在崩溃,所以不要认为它们会匹配。