php strcmp方法在参数相等时不返回0?

时间:2016-12-09 19:37:50

标签: php

我使用strcmp()进行字符串比较。我给参数赋予相同的值,但它不返回0,所以我的比较失败了。相关的代码段:

fwrite($fh ,"\n".$mevcutyoutubeid. "\n");
fwrite($fh , $youtubeid. "\n");
if($mevcutyoutubeid=!null){
    fwrite($fh ,"null degil");
    if(strcmp(trim($mevcutyoutubeid),trim($youtubeid )) == 0){
        echo"xxx"
    }

在我的文件中,这些是书面ID:

UCcJWloZ7QDD1v0hdbQkosVw
UCcJWloZ7QDD1v0hdbQkosVw

所以,他们完全一样。问题是什么?

1 个答案:

答案 0 :(得分:2)

你的问题在这一行:

 if($mevcutyoutubeid=!null){

这不是比较(!= null);这是一项任务(= !null)。顺便说一句,对!null的赋值没有任何意义 - it evaluates to true,但没有充分理由这样做。无论如何,该任务打破了以下逻辑。

那就是说,你的问题还不清楚,因为(1)代码没有连贯地格式化(我已经修复了)和(2)你的大部分代码与问题完全无关。将来,请使用正确的格式,包括Minimal, Complete, and Verifiable Example,并删除对问题不重要的任何内容。