簡體   English   中英

為什么 in_array 為這個搜索返回 false?

[英]Why does in_array return false for this search?

為什么下面的代碼返回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
)

在線代碼編輯器

這是正確的行為。

該數組中沒有字符串/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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM