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

时间:2015-04-28 20:23:40

标签: php laravel

我想用数组中的数据检查字符串的最后5个字符。默认情况下,这是我检查它的方式,但我不能用substr来做,因为第二个参数是一个数组。

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

请指教。谢谢。

2 个答案:

答案 0 :(得分:1)

我假设$ explosion_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检查中混合类型,则可能还需要更精确地进行子检查。

希望有所帮助。

答案 1 :(得分: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
}