如何从foreach循环中的匹配值获取下一个值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从foreach循环中的匹配值获取下一个值相关的知识,希望对你有一定的参考价值。
如何从循环中的匹配值获取下一个值。数组中需要'1010-1040'键。
<?php
$arr = Array
(
'0900-0930' => 0,
'0935-1005' => 0,
'1010-1040' => 0,
'1045-1115' => 0
);
$matchVal = '0935-1005';
foreach ($arr as $key => $value) {
if($matchVal == $key){
echo $key.'<br />';
}
echo next($arr);
}
?>
提前致谢。
答案
试试这个
$arr = Array
(
'0900-0930' => 0,
'0935-1005' => 0,
'1010-1040' => 0,
'1045-1115' => 0
);
$matchVal = '0935-1005';
$keys = array_keys($arr);
print $keys[array_search($matchVal,$keys)+1];
产量
1010-1040
另一答案
<?php
$arr = Array
(
'0900-0930' => 0,
'0935-1005' => 0,
'1010-1040' => 0,
'1045-1115' => 0
);
$keys = array_keys($arr);
$matchVal = '0935-1005';
$matched = array_search($matchVal, $keys); // $key = 1;
$nextindex = $matched + 1;
$nextValue = $arr[$nextindex];
?>
另一答案
请试试这个。
<?php
$arr = Array
(
'0900-0930' => 0,
'0935-1005' => 0,
'1010-1040' => 0,
'1045-1115' => 0
);
$matchVal = '0935-1005';
foreach ($arr as $key => $value) {
if($matchVal == $key){
echo $key.'<br />';
}
next($arr);
echo key($arr)."<br/>;
}
?>
以上是关于如何从foreach循环中的匹配值获取下一个值的主要内容,如果未能解决你的问题,请参考以下文章
如果在foreach循环下动态生成Textarea不止一次,如何在Razor(blazor)组件中获取Textarea值