2016-04-26 75 views
1

我在in_array() PHP函數中發現了一個奇怪的錯誤。in_array()返回錯誤的值?

下一個代碼返回TRUE但它是錯誤的值。任何人都可以告訴我我做錯了什麼?

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

現場演示:http://sandbox.onlinephpfunctions.com/code/81013d156637fd06557b632f102d52f72d0f9d77

當然,我知道我可以執行in_array(0, array('a', 'ab', 'abc'), true)但爲什麼沒有這個true此功能無法正常工作好。

+1

由於PHP類型雜耍。沒有嚴格的參數是真的PHP做了一個鬆散的比較。 – Rizier123

+0

這看起來非常類似於在php文檔中的這個評論。類似的問題。任何人都知道發生了什麼事? http://php.net/manual/en/function.in-array.php#114117 –

+0

[找出差異](https://3v4l.org/CmF6h) –

回答

1

in_array你必須設置type

語法:

in_array(search,array,type); 

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

注:如果搜索參數是一個字符串類型參數設置爲TRUE,搜索結果爲區分大小寫

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

2

你必須設置嚴格的

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