Php 为什么两个词不';当它们';你是一样的吗?

Php 为什么两个词不';当它们';你是一样的吗?,php,arrays,string,Php,Arrays,String,我得比较两个词。第一个词是“módulo”,另一个词是“modulo”。我试图替换重音,然后我意识到在调用替换重音的方法后单词从未改变。 我从两个数组中得到第一个单词。非序列化数组中的第一个数组称为tipo <? $tipo = unserialize(TIPO); $estado = unserialize(ESTADO); ?> 通过这个值,我可以从“tipo”数组访问索引,这就是我得到单词“módulo”的地方 当我这么做的时候 if($tipo_dato == 'mó

我得比较两个词。第一个词是“módulo”,另一个词是“modulo”。我试图替换重音,然后我意识到在调用替换重音的方法后单词从未改变。 我从两个数组中得到第一个单词。非序列化数组中的第一个数组称为tipo

<? 
$tipo = unserialize(TIPO); 
$estado = unserialize(ESTADO);  ?>
通过这个值,我可以从“tipo”数组访问索引,这就是我得到单词“módulo”的地方

当我这么做的时候

if($tipo_dato == 'módulo')
  $tipo_dato = 'modulo';
什么也没发生:(请帮忙

对我的英语很抱歉:(

-- 也许这有帮助

$tipo_dato = (@$prop['propiedad_tipo'])?strtolower($tipo[ $prop['propiedad_tipo'] ]):''; 
  echo serialize($tipo_dato); echo '<br>'.serialize('módulo');
$tipo_dato=(@$prop['propiedad_tipo'])?strtolower($tipo[$prop['propiedad_tipo']):”;
echo serialize($tipo_dato);echo'
'。serialize('módulo');
结果是s:13:“莫多洛”;s:7:“莫多洛”

-- 我发现了一个大错误。当我序列化数组“TIPO”时,我使用了
mó;dulo
我将它转换为módulo,然后一切正常。。。 非常感谢您使用

if($tipo_dato=='modulo')
    $tipo_dato='modulo';
没有意义。它检查值是否为模,然后分配模。将其更改为

if($tipo_dato!='modulo')
    $tipo_dato='modulo';
或者改成

if($tipo_dato=='modulo')
     #do some other thing

发现这对您的需要非常有用:

function toASCII( $str )
{
    return strtr(utf8_decode($str), 
        utf8_decode(
        'ŠŒŽšœžŸ¥µÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýÿ'),
        'SOZsozYYuAAAAAAACEEEEIIIIDNOOOOOOUUUUYsaaaaaaaceeeeiiiionoooooouuuuyy');
}
取自

然后您可以使用:

$tipo_dato = toASCII($tipo_dato);

在通过数据库检索价值时可能会出现问题,以便找到通过数据库获取的价值$tipo_dat

   $tipo_dato = (@$prop['propiedad_tipo'])?$tipo[ $prop['propiedad_tipo'] ]:''; 
     echo "$tipo_dato";
我认为这只是一个交换概念,其中一个方法尝试这个简单的代码。
//initial check the value 
echo "$uid<br>";
echo "$bid";

//after the swaping the value 
$d=$uid;
$uid="$bid";
$bid="$d";

//final outcome
echo "$uid<br>";
 echo "$bid";

  ?>
//初始检查值
回显“$uid
”; 回音“$bid”; //交换价值后 $d=$uid; $uid=“$bid”; $bid=“$d”; //最终结果 回显“$uid
”; 回音“$bid”; ?>
您使用的是什么字符集?谢谢您的回答,但如果您再次看到,我将modulo与módulo进行比较,并使用重音,如果这是真的,我将其更改为modulo。我需要将módulo更改为modulo。我这样做了,但仍然返回带重音的单词:(我将módulo单词复制到一个测试php文件中,它在那里对我起作用,因此我猜测您的IF不起作用的原因是它不是相同的ASCII字符,当我序列化我使用的数组“TIPO”时,
mó;dulo
我将它转换为módulo,然后一切正常
//initial check the value 
echo "$uid<br>";
echo "$bid";

//after the swaping the value 
$d=$uid;
$uid="$bid";
$bid="$d";

//final outcome
echo "$uid<br>";
 echo "$bid";

  ?>