PHP JavaScript eÅŸdeÄŸer'In in_array()
JavaScript bir şekilde bir diziden değerleri karşılaştırmak ve eğer başka bir dizi olup olmadığını görmek için var mı?
Benzer in_array
. PHP iÅŸlevi?
CEVAP
Hayır, kimse yok. Bu nedenle en popüler kütüphaneler yarar paketlerinden biri ile birlikte gelir. Bu bir WordPress kullanmak göz atıninArrayve PrototipArray.indexOförnekler için.
bu jQuery uygulaması tahmin edebileceğiniz gibi: bu kadar basit
function inArray(needle, haystack) {
var length = haystack.length;
for(var i = 0; i < length; i ) {
if(haystack[i] == needle) return true;
}
return false;
}
Eğer dizi elemanlarının aklı başında bir miktar ile ilgili ise yukarıdaki güzel hile yapacak.
EDİT: Hoppala. Bile bir dizi başka içinde görmek istediğini fark etmedim. PHP belgelerine göre bu PHP beklenen davranış in_array
.
$a = array(array('p', 'h'), array('p', 'r'), 'o');
if (in_array(array('p', 'h'), $a)) {
echo "'ph' was found\n";
}
if (in_array(array('f', 'i'), $a)) {
echo "'fi' was found\n";
}
if (in_array('o', $a)) {
echo "'o' was found\n";
}
// Output:
// 'ph' was found
// 'o' was found
Kodu Chris ve Alex tarafından yayınlanan bu davranış izleyin. Alex'in Prototipi adres bilgisi resmi sürümü ve Chris'in array_intersect
daha çok PHP. Bu senden ne istiyor:
function arrayCompare(a1, a2) {
if (a1.length != a2.length) return false;
var length = a2.length;
for (var i = 0; i < length; i ) {
if (a1[i] !== a2[i]) return false;
}
return true;
}
function inArray(needle, haystack) {
var length = haystack.length;
for(var i = 0; i < length; i ) {
if(typeof haystack[i] == 'object') {
if(arrayCompare(haystack[i], needle)) return true;
} else {
if(haystack[i] == needle) return true;
}
}
return false;
}
Ve bu yukarıdaki: benim test
var a = [['p','h'],['p','r'],'o'];
if(inArray(['p','h'], a)) {
alert('ph was found');
}
if(inArray(['f','i'], a)) {
alert('fi was found');
}
if(inArray('o', a)) {
alert('o was found');
}
// Results:
// alerts 'ph' was found
// alerts 'o' was found
Ben kasıtlı olarak genellikle bunu yapmak için kötü bir fikir olduğu gibi Dizi prototip içermiyordu unutmayın.
JavaScript, basit bir beÅŸgen kullanmak...
() JavaScript isset eÅŸdeÄŸer...
Javascript PHP EÅŸdeÄŸer Patlayabilir()...
saf JavaScript jQuery eÅŸdeÄŸer'in ...
Javascript var_dump için bir eşdeğer (...