phpbb_posts라는 phpbb 테이블의 행을 반복하고 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"표현식이 실행되지 않는 이유를 이해할 수 없습니다.
안녕하세요, 예, 실제로 == 및 ==== 및 trim()을 시도했습니다. 값을 출력하기 때문에 테이블에 값이 있음을 알 수 있습니다 (위의 예제에 나와 있습니다). 그래서 $ wp_post_title_string은 "Test"를 포함하고 $ phpbb_post_title_string은 "Test"를 포함합니다. 공백이나 다른 문자 대/소문자는 없지만 사실대로 되돌릴 수는 없습니다. 나는 이유를 모른다. 나는 strpos()를 시도해 보았지만 문자열을 찾지 못했다. 이상하다. – rwx
그러나 strpos ($ wp_post_title_string, "Test")를 실행하면 true를 반환하지만 $ phpbb_post_title_string에 "Test"가 포함되어 있어도 strpos ($ wp_post_title_string, $ phpbb_post_title_string)를 수행하면 false를 반환합니다. 여기서 무슨 일이 일어나고있는거야? 내가 뭘 놓치고 있니? – rwx
foreach 루프의 처음 두 줄을 읽습니다. 배열을 생성하고 배열을 파싱하는 것입니다. 루프를 입력하고 죽을 때마다 var_dump 두 값을 시도하십시오. 그들이 무엇인지 정확히 알 수 있습니다. if ($ wp_post_title_string == $ row [ 'post_subject']) 루프에서 처음 두 줄을 제거합니다. var_dump를 수행 할 때 아마 배열 일 가능성이있는 객체 표기법을 사용하기 때문에 하나의 변수가 여전히 배열이거나 정의되지 않은 것입니다. – Darius