为什么此搜索的 in_array return 为 false?
Why does in_array return false for this search?
为什么下面的代码 return false
?它应该 return 正确。
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
)
这是正确的行为。
该数组中没有字符串 /wp-content/uploads/2020/08/SJ-R42027-CZ-SG-1-scaled-1.jpg
。
我认为你误解了“严格”的说法。例如
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' == 3
in_array('3', [1, 2, 3, 4], false); // ==> true because '3' == 3
但是在你的情况下,即使松散 ==
:
字符串也不匹配
'/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
为什么下面的代码 return false
?它应该 return 正确。
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
)
这是正确的行为。
该数组中没有字符串 /wp-content/uploads/2020/08/SJ-R42027-CZ-SG-1-scaled-1.jpg
。
我认为你误解了“严格”的说法。例如
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' == 3
in_array('3', [1, 2, 3, 4], false); // ==> true because '3' == 3
但是在你的情况下,即使松散 ==
:
'/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