我想用数组中的数据检查字符串的最后5个字符。默认情况下,这是我检查它的方式,但我不能用substr来做,因为第二个参数是一个数组。
if(in_array($row_order->number, $exploded_results[$row_order->log]){
请指教。谢谢。
答案 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
}