Php 在数组结束之前执行某些操作
我有一个数组,看起来像这样:Php 在数组结束之前执行某些操作,php,arrays,Php,Arrays,我有一个数组,看起来像这样: $array = array('element1', 'element2', 'element3'); foreach($array as $a){ echo $a; } 我需要做的是在数组的最后一个元素之前做一些事情,以便我的回音如下所示: 元素1,元素2,看,妈!我做了点什么!,要素3 我想要的是,当且仅当我们正好位于数组中最后一个元素之前时(无论大小),运行函数 我曾想过使用end($array);但如果是这样,我会怎么做 foreach($arr
$array = array('element1', 'element2', 'element3');
foreach($array as $a){
echo $a;
}
我需要做的是在数组的最后一个元素之前做一些事情,以便我的回音如下所示:
元素1,元素2,看,妈!我做了点什么!,要素3
我想要的是,当且仅当我们正好位于数组中最后一个元素之前时(无论大小),运行函数
我曾想过使用end($array);但如果是这样,我会怎么做
foreach($array as $a){
if(!end($array)){
call_func(); // this seems wrong.
}
echo $a;
}
想法?您可以对照数组的
end()
进行检查
$lastElement = $currentElement === end($array)
在你的例子中,那就是
foreach($array as $a){
if($a === end($array)){
// Last iteration.
}
echo $a;
}
这当然取决于元素的独特性。否则,您可以使用计数器,或者使用该键并将其与最后一个键(
end(array\u keys($array))
)进行比较。您可以对照数组的end()
进行检查
$lastElement = $currentElement === end($array)
在你的例子中,那就是
foreach($array as $a){
if($a === end($array)){
// Last iteration.
}
echo $a;
}
这当然取决于元素的独特性。否则,您可以使用计数器,或者使用该键并将其与最后一个键(end(array\u keys($array))
)进行比较-
$array = array('element1', 'element2', 'element3');
$count = count($array)-1;
$loop = 1;
foreach($array as $a){
echo $a;
$loop++;
if($count == $loop)
echo "You text to be print";
}
你可以这样做-
$array = array('element1', 'element2', 'element3');
$count = count($array)-1;
$loop = 1;
foreach($array as $a){
echo $a;
$loop++;
if($count == $loop)
echo "You text to be print";
}
尝试:
或者你也可以这样做
$array = array('element1', 'element2', 'element3');
end($array);
$last_key = key($array);
foreach($array as $key => $a){
if ($key == $last_key) {
call_func();
}
echo $a;
}
尝试:
或者你也可以这样做
$array = array('element1', 'element2', 'element3');
end($array);
$last_key = key($array);
foreach($array as $key => $a){
if ($key == $last_key) {
call_func();
}
echo $a;
}
通常情况下,我会这样做:
$arrlen = count($array);
foreach($array as $i => $a) {
if ($arrlen == $i + 1) {
call_func();
}
echo $a;
}
通常情况下,我会这样做:
$arrlen = count($array);
foreach($array as $i => $a) {
if ($arrlen == $i + 1) {
call_func();
}
echo $a;
}
if语句应该是
if($a==end($array))
,但即使这样也不一定意味着它是数组的最后一个值(可能有重复的值)。if语句应该是if($a==end($array))
,但即使这样也不一定意味着它是数组的最后一个值(可能有重复的值).最佳解决方案,但您可以避免使用end($array)构建键的中间数组$最后一个密钥=密钥($array)代码>最佳解决方案,但可以避免使用end($array)构建中间密钥数组$最后一个密钥=密钥($array)代码>