0

我必须比较两个词。第一个词是“模”,另一个是“模”。我试图替换重音,然后我意识到在调用替换重音的方法后单词从未改变。我从两个数组中得到第一个单词。来自名为tipo的反序列化数组的第一个数组。

<? 
$tipo = unserialize(TIPO); 
$estado = unserialize(ESTADO);  ?>

第二个数组来自数据库结果,$prop['propiedad_tipo'] propiedad_tipo是 int 类型。

$tipo_dato = (@$prop['propiedad_tipo'])?$tipo[ $prop['propiedad_tipo'] ]:'';

通过这个值,我可以访问“ 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');

结果是 s:13:"módulo"; s:7:"模块";

——我发现了大错误。当我序列化我使用的数组“TIPO”时,我将 m&oacute;dulo 其更改为 módulo,然后一切正常......非常感谢您的帮助

4

3 回答 3

0

使用

if($tipo_dato=='modulo')
    $tipo_dato='modulo';

没有意义。它检查值是否为模数,然后分配模数。将其更改为

if($tipo_dato!='modulo')
    $tipo_dato='modulo';

或将其更改为

if($tipo_dato=='modulo')
     #do some other thing
于 2013-04-01T16:23:15.960 回答
0

发现这看起来对您需要的东西非常有用:

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

取自如何去除重音符号并将字母转换为“普通”ASCII 字符?

然后你可以使用:

$tipo_dato = toASCII($tipo_dato);
于 2013-04-01T16:32:35.723 回答
0

它可能是通过数据库检索价值的问题,因此试图找到 $tipo_dato 通过数据库获得的价值

   $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";

  ?>
于 2013-04-01T16:44:13.820 回答