strcmp () возвращает -1 для разных строк - PullRequest
2 голосов
/ 16 марта 2020
<?php
$html = file_get_contents("https://www.casa.gov.au/rpa-operator-certificate-holders");
$pokemon_doc = new DOMDocument();
libxml_use_internal_errors(TRUE);
if(!empty($html)){ 

    $pokemon_doc->loadHTML($html);
    libxml_clear_errors(); 
    $pokemon_xpath  = new DOMXPath($pokemon_doc);
    $pokemon_row    = $pokemon_xpath->query('//tr');

    if($pokemon_row->length > 0){
        $s4 = "4 ONE 4 REAL ESTATE PTY LTD ";
        $s5 = ($pokemon_row[2]->firstChild->nodeValue);
        echo strcmp($s4,$s5); 
    }

}
?>

Из приведенного выше кода я пытаюсь сравнить строку из таблицы этого сайта ("https://www.casa.gov.au/rpa-operator-certificate-holders"), но я не получил вывод как 0, когда я использую strcmp ( ) вместо этого я получаю вывод как -1

1 Ответ

2 голосов
/ 16 марта 2020

Проблема в лишних пробелах вокруг сравниваемых строк. Если вы добавите

echo ">".$s4."<>".$s5."<";

, вы получите

>4 ONE 4 REAL ESTATE PTY LTD <>
            4 ONE 4 REAL ESTATE PTY LTD          <

Вы можете легко изменить сравнение на ...

echo strcmp(trim($s4),trim($s5));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...