suchen

Heim  >  Fragen und Antworten  >  Hauptteil

php in_array Was ist los?

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

test("all");

test(1);

Zwei wahr zurückgeben

PHPzPHPz2791 Tage vor1078

Antworte allen(3)Ich werde antworten

  • 高洛峰

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

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

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

    你需要使用第三个参数。

    Antwort
    0
  • PHP中文网

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

    PHP是弱类型语言,会根据具体场景自动转化变量类型。你要搜索的数组明显都是整数,那就只能把变量转为整数,纯字符转为为整数是0,自然就在里面了。

    Antwort
    0
  • 我想大声告诉你

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

    这是因为字符串存在转为未数字的问题var_dump('d'==0); true 纯字符会转化为 0

    Antwort
    0
  • StornierenAntwort