Php 只想比较数组中字符串的最后5个字符

Php 只想比较数组中字符串的最后5个字符,php,laravel,Php,Laravel,我想用数组中的数据检查字符串的最后5个字符。默认情况下,这是我检查它的方式,但我无法使用substr进行检查,因为第二个参数是数组 if(in_array($row_order->number, $exploded_results[$row_order->log]){ 请告知。谢谢 我假设$exploded\u results[$row\u order->log]的值本身就是一个数组-你可以试试这个,它不漂亮,但应该可以工作 $found = false; foreach ( $e

我想用数组中的数据检查字符串的最后5个字符。默认情况下,这是我检查它的方式,但我无法使用substr进行检查,因为第二个参数是数组

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

请告知。谢谢

我假设$exploded\u results[$row\u 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检查中更加精确


希望有帮助。

这可能是最短的:

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

if($match){
    // found
}