PHP字符串与特殊字母的比较

时间:2019-02-07 15:09:21

标签: php arrays string string-comparison strcmp

我有一系列属性,这些属性是使用rest api从woocommerce商店获取的。看起来像:

Array
 (
 [0] => stdClass Object
    (
        [id] => 6
        [name] => Modelis
        [position] => 0
        [visible] => 1
        [variation] => 1
    )

[1] => stdClass Object
    (
        [id] => 5
        [name] => Krāsa
        [position] => 1
        [visible] => 1
        [variation] => 1
    )

)

在此数组中,我想找到名称为“Krāsa”的商品。由于它包含特殊字母“ā”,因此无法进行简单比较:

foreach ($attributes as $item):
  if (!strcmp($item->name, 'Krāsa')):
    print_r('Names match');
  endif;
endforeach;

尽管数组中有名称Krāsa,但if子句始终为false。也许那是我的背景差,但是我想知道如何正确比较这样的字符串?

非常感谢。

1 个答案:

答案 0 :(得分:3)

在某些情况下,当您遇到字符串编码问题时,可以转换字符串编码。

{'a1': 0, 'a2': 1, 'a3': 2, 'a4': 3, 'a5': 4}