2015-04-28 58 views
2

我想用數組內的數據檢查字符串的最後5個字符。默認情況下,這是我如何檢查它,但我不能用substr做到這一點,因爲第二個參數是一個數組。只想比較數組中字符串的最後5個字符

if(in_array($row_order->number, $exploded_results[$row_order->log]){ 

請指教。謝謝。

回答

1

我假設$ exploded_results [$ row_order-> log]的值本身就是一個數組 - 你可以嘗試這個,它不是很漂亮,但它應該工作。

$found = false; 
foreach ($exploded_results[$row_order->log] as $item) { 
    if (substr($item, -5) == $row_order->number) { 
     $found = true; 
     break; 
    } 
} 

if ($found) { 
... 
} 

如果您使用===在if檢查中混合類型,您可能還需要在substr檢查中更加精確。

希望有所幫助。

1

這大概是它獲得的最短:

$match = array_first($exploded_results[$row_order->log], function($key, $value) use ($row_order){ 
    return substr($value, -5) == $row_order->number; 
}); 

if($match){ 
    // found 
}