LINUX.ORG.RU

Сравнение 2х подстрок (элементов массивов)

 


0

1

Здравствуйте

сравниваю элементы массивов вот такая ересь в результате

Вот такой результат 011-0046 и 011-0046Совпадений не найдено

Вот такой код

 $a = $arrtemp["ourart"];
 $b = $puarrtemp ["ourart"];  
       if (strcasecmp($a, $b) == 0){
                $poll []= $puarrtemp;
                  print_r('есть же');
                   }else{
                             $poll=0;
                                print_r ('Совпадений не найдено');
                                echo '<br>';
                                 }
                                }
ЧТЯДНТ ?


ЧТЯДНТ ?

Неправильно задаешь вопрос, не форматируешь код

011-0046 и 011-0046Совпадений не найдено

$php -r 'var_dump(strcasecmp("011-0046", "011-0046"));'
int(0)


УМВР

goingUp ★★★★★
()
Ответ на: комментарий от goingUp

я прям сильно, при сильно извиняюсь

Но, я видим чего-то рукожоплю

отсюда я почерпнул знания. Сделал как выше написал, не взлетело.

Как вы предлагаете сделал, и увидел что вообще какая то ересь 116-0214 и 011-0160int(-16) есть же, то есть int(-16) результат функции strcasecmp, при этом условие выполняется ТРУ. Как так то ?

Я юный быдлокодер, сильно не пинайте.

Nevega
() автор топика
Ответ на: комментарий от goingUp
print_r($arrtemp["ourart"]. ' и ' . $puarrtemp ["ourart"]);
$a = $arrtemp["ourart"];
$b = $puarrtemp ["ourart"]; 
$f =strcasecmp($a, $b);
$g = var_dump($f);
print_r ($g);
if ($g == 0){                                                                                    
            $poll []= $puarrtemp;
            print_r('есть же');                                                                    
            }else{                                                                                       
                  $poll=0;
                  print_r ('Совпадений не найдено');
                  echo '<br>';                                                                                            }
                                                                                   

Результат 011-0046 и 011-0046int(-16) есть же

--------------------------- Причем если вместо ссылок на элемент массива задавать стоку '014-0046' то int(0)

Nevega
() автор топика
Ответ на: комментарий от Nevega

с ТРУ разобрался, задал строгое ===

Nevega
() автор топика
Ответ на: комментарий от Nevega

Может там где-то пробелы, сделай var_dump($a) и var_dump($b)

goingUp ★★★★★
()
Ответ на: комментарий от Nevega

$g = var_dump($f);

Мальчик, ты дурак? Ясное дело что null == 0.

с ТРУ разобрался

Нет

А строки у тебя разные. Ищи там пробелы или буква О вместо нуля.

И пиши хотябы в notepad++, а не тупо в блокноте. От выравнивания блевать хочется.

no-such-file ★★★★★
()
Последнее исправление: no-such-file (всего исправлений: 4)
Ответ на: комментарий от no-such-file

Array ( [0] => [1] => 1 [2] => 1 [3] => 6 [4] => - [5] => 0 [6] => 2 [7] => 1 [8] => 4 ) Array ( [0] => 0 [1] => 1 [2] => 1 [3] => - [4] => 0 [5] => 0 [6] => 6 [7] => 2 )

первый символ не пойми что и как его удалить? при условии что не факт что везде он есть.

Nevega
() автор топика
Ответ на: комментарий от no-such-file

Нет, не дурак. Учусь, говорил же.

От выравнивания самого тошнит, где посмотреть правила выравнивания поделитесь пожалуйста. Пишу в Visual Code (для PHP форматирование кода пока не получается поставить, к сожалению).

Nevega
() автор топика
Ответ на: комментарий от Nevega

где посмотреть правила выравнивания поделитесь пожалуйста

PSR-2

первый символ не пойми что и как его удалить?

trim

no-such-file ★★★★★
()
Ответ на: комментарий от no-such-file

Короче, паразитный пробел был в ковычках перед переменной, в строке запроса на запись в БД.

Спасибо за помощь!

Nevega
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.