2016-04-26 25 views
1

Ich fand einen seltsamen Fehler in in_array() PHP-Funktion. Der nächste Code gibt TRUE zurück. Jeder kann mir sagen, was ich falsch mache?in_array() gibt falsche Werte zurück?

<?php 
var_dump(in_array(0, array('a', 'ab', 'abc'))); 

Live-Demo: http://sandbox.onlinephpfunctions.com/code/81013d156637fd06557b632f102d52f72d0f9d77

Natürlich weiß ich, dass ich in_array(0, array('a', 'ab', 'abc'), true) aber warum ohne diese true diese Funktion gut funktioniert nicht ausführen kann.

+1

Wegen PHP-Typ Jonglieren. Ohne den Parameter strict um wahr zu sein, macht PHP einen losen Vergleich. – Rizier123

+0

Das sieht diesem Kommentar in der php-Dokumentation sehr ähnlich. Ähnliche Ausgabe. Weiß jemand was los ist? http://php.net/manual/en/function.in-array.php#114117 –

+0

[Finde den Unterschied] (https://3v4l.org/CmF6h) –

Antwort

1

in_array Sie type

Syntax gesetzt haben:

in_array(search,array,type); 

var_dump(in_array(0, array('a', 'ab', 'abc'), true)); 

Hinweis: Wenn der Suchparameter ist ein String und der Typ Parameter ist auf TRUE eingestellt, die Suche ist Groß-und Kleinschreibung.

http://php.net/manual/en/function.in-array.php

2

Sie haben es zu setzen strenge

var_dump(in_array(0, array('a', 'ab', 'abc'), true)); 
Verwandte Themen