为什么 in_array 对于此搜索返回 false?

为什么下面的代码会返回false?它应该返回 true。


in_array(

    '/wp-content/uploads/2020/08/SJ-R42027-CZ-SG-1-scaled-1.jpg',

    [

        'https://example.com/wp-content/uploads/2020/08/SJ-R42027-CZ-SG-1-scaled-1.jpg'

    ],

    false

)

在线代码编辑器


小怪兽爱吃肉
浏览 38回答 2
2回答

Smart猫小萌

这是正确的行为。该数组中没有字符串/wp-content/uploads/2020/08/SJ-R42027-CZ-SG-1-scaled-1.jpg。

繁星coding

我认为你误解了“严格”的论点。例如。in_array('3', [1, 2, 3, 4], true); // ==> false because the string '3' !== 3但是,如果您不传递第三个参数或传递它false:in_array('3', [1, 2, 3, 4]);        // ==> true because '3' == 3in_array('3', [1, 2, 3, 4], false); // ==> true because '3' == 3但是,在您的情况下,即使使用loose,字符串也不匹配==:'/wp-content/uploads/2020/08/SJ-R42027-CZ-SG-1-scaled-1.jpg' ==     'https://example.com/wp-content/uploads/2020/08/SJ-R42027-CZ-SG-1-scaled-1.jpg'// ==> false
打开App,查看更多内容
随时随地看视频慕课网APP