Dizi değerlerini karşılaştırırken PHP harf duyarlılığını görmezden

3 Cevap

Ben array_diff ($ dizi1, $ Dizi2) yöntemi kullanıyor üzerinde çalışıyorum bir uygulamada bazı kod değiştirmek zorunda. Ben yaşıyorum sorun harf duyarlı değildir ve ben dizi değerleri durum farklı olsa bile maç eğer doğru değeri döndürmek için ihtiyaç vardır. Ben değeri, davayı tutmak döndü gerekiyor çünkü küçük harfe davayı değiştirmek istemiyorum. Bunu yapmak için en iyi yöntem olarak biraz kafam karıştı.

3 Cevap

Sen gerekir: array_udiff ve strcasecmp

$result = array_udiff($arr1, $arr2, 'strcasecmp');

Örneğin

<?php
$arr1 = array("string","string","string");
$arr2 = array("String","string","sTRING");

$result = array_udiff($arr1, $arr2, 'strcasecmp'); 
print_r($result);
?>

$result yankı gerekir array ( )

Kullanım

strcasecmp - ikil ve harf büyüklüğüne duyarsız dizge karşılaştırması

<?php
$var1 = "Hello";
$var2 = "hello";
if (strcasecmp($var1, $var2) == 0) {
    echo '$var1 is equal to $var2 in a case-insensitive string comparison';
}
?>

Refer this link for more information

Dizgeleştirme yardımcı olabilir, böylece çıkan dizeleri strcasecmp kullanabilirsiniz:

<?php

$arr1 = array("string","string");
$arr2 = array("String","sTRING");

$equal = (strcasecmp(serialize($arr1), serialize($arr2)) === 0);

?>