搜尋

首頁  >  問答  >  主體

php in_array 這是怎麼回事?

<?php
function test($a="all"){
    var_dump(in_array($a,array(0,1)));
}

test("all");

test(1);

回傳兩個true

PHPzPHPz2791 天前1080

全部回覆(3)我來回復

  • 高洛峰

    高洛峰2017-06-06 09:55:41

    bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )

    - 如果第三个参数 strict 的值为 TRUE 则 in_array() 函数还会检查 needle 的类型是否和 haystack 中的相同。
    

    你需要使用第三個參數。

    回覆
    0
  • PHP中文网

    PHP中文网2017-06-06 09:55:41

    PHP是弱型別語言,會根據具體場景自動轉換變數類型。你要搜尋的陣列明顯都是整數,那就只能把變數轉為整數,純字元轉為整數是0,自然就在裡面了。

    回覆
    0
  • 我想大声告诉你

    我想大声告诉你2017-06-06 09:55:41

    這是因為字串存在轉為未數字的問題var_dump('d'==0); true 純字元會轉換為 0

    回覆
    0
  • 取消回覆