in_array () - özellikle doğrudur dönecekti ne yardım

2 Cevap php

ANSWERED: THE FUNCTION WORKS AS I WANTED IT TO. I HAD A TYPO IN MY TEST PHP THAT MADE IT RETURN TRUE REGARDLESS.

I am using in_array, and I'm trying to use it in a way where it will only return true if it's an exact match of one of the objects in the array, not just if it's "in" the array. e.g.

1. $sample_array = array('123', '234', '345');
2. $sample_array = array('23', '34', '45');

in_array('23', $sample_array);

In the above example, I would only want version 2 to return true, because it has the exact string, '23'. Version 1 returns true as well though, because the array contains instances of the string '23'.

Nasıl bu doğru böylece yalnızca sürüm 2 döner işe almak istiyorsunuz? Ben bile doğru işlevini kullanarak muyum?

2 Cevap

Sürüm 1 does not return true. Fonksiyonu tam olarak gerektiği gibi çalışır.

<?php

$sample_array1 = array('123', '234', '345');
$sample_array2 = array('23', '34', '45');

echo in_array('23', $sample_array1);        // 0
echo in_array('23', $sample_array2);        // 1

Bu fonksiyon, bir regex fonksiyonu değildir. O tam değer dizi değil değer 'gibi bir şey olup olmadığını görmek için denetler. '23 Olmadığını kontrol 'bir dizi olan '234 için doğru dönmeyecek'.

in_array("23", array("23")); // true
in_array("23", array(23)); // true
in_array("23", array("234")); // false (0)

Farklı döküm karşı kontrol edeceğini, ancak, dikkat edin.