Php 使用[]动态设置数组值时,如何获取最后一个填充的键?

Php 使用[]动态设置数组值时,如何获取最后一个填充的键?,php,arrays,key,Php,Arrays,Key,使用[]动态设置数组值时,如何获取最后一个填充的键 <?php $array[] = 'apple'; $array[] = 'banana'; $array[] = 'orange'; $count = count($array); $last_key = $count-1; $last_value = $array[$last_key]; ?> 例如,考虑: $array[] = 'apple'; $array[] =

使用
[]
动态设置数组值时,如何获取最后一个填充的键

<?php

    $array[] = 'apple';
    $array[] = 'banana';
    $array[] = 'orange';

    $count = count($array);

    $last_key = $count-1;

    $last_value = $array[$last_key];

?>
例如,考虑:

$array[] = 'apple';
$array[] = 'banana';
$array[] = 'orange';
<?php

    $array[] = 'apple';
    $array[] = 'banana';
    $array[] = 'orange';

    $count = count($array);

    $last_key = $count-1;

    $last_value = $array[$last_key];

?>
如何获取“橙色”的最后一个键值(在本例中为
2

<?php

    $array[] = 'apple';
    $array[] = 'banana';
    $array[] = 'orange';

    $count = count($array);

    $last_key = $count-1;

    $last_value = $array[$last_key];

?>
key()
函数只是返回
0
,不管我把它放在哪一行后面

end($array);
echo key($array);
<?php

    $array[] = 'apple';
    $array[] = 'banana';
    $array[] = 'orange';

    $count = count($array);

    $last_key = $count-1;

    $last_value = $array[$last_key];

?>
这就是你所需要的

<?php

    $array[] = 'apple';
    $array[] = 'banana';
    $array[] = 'orange';

    $count = count($array);

    $last_key = $count-1;

    $last_value = $array[$last_key];

?>
如果您已经知道最后输入的值,并且只需要密钥,那么也可以使用专门构建的
array\u搜索('orange',$array)

<?php

    $array[] = 'apple';
    $array[] = 'banana';
    $array[] = 'orange';

    $count = count($array);

    $last_key = $count-1;

    $last_value = $array[$last_key];

?>
这就是你所需要的

<?php

    $array[] = 'apple';
    $array[] = 'banana';
    $array[] = 'orange';

    $count = count($array);

    $last_key = $count-1;

    $last_value = $array[$last_key];

?>

如果您已经知道输入的最后一个值,并且只需要密钥,您也可以使用专门构建的
数组搜索('orange',$array)

您可以使用获取最后一个密钥,但需要先调用:

<?php

    $array[] = 'apple';
    $array[] = 'banana';
    $array[] = 'orange';

    $count = count($array);

    $last_key = $count-1;

    $last_value = $array[$last_key];

?>
另一种解决方案(性能较差)是使用并获取最后一个元素:

echo end(array_keys($array));
<?php

    $array[] = 'apple';
    $array[] = 'banana';
    $array[] = 'orange';

    $count = count($array);

    $last_key = $count-1;

    $last_value = $array[$last_key];

?>

您可以使用获取最后一个密钥,但需要先调用:

<?php

    $array[] = 'apple';
    $array[] = 'banana';
    $array[] = 'orange';

    $count = count($array);

    $last_key = $count-1;

    $last_value = $array[$last_key];

?>
另一种解决方案(性能较差)是使用并获取最后一个元素:

echo end(array_keys($array));
<?php

    $array[] = 'apple';
    $array[] = 'banana';
    $array[] = 'orange';

    $count = count($array);

    $last_key = $count-1;

    $last_value = $array[$last_key];

?>

您可以使用end函数

<?php
end($array);
key($array);
<?php

    $array[] = 'apple';
    $array[] = 'banana';
    $array[] = 'orange';

    $count = count($array);

    $last_key = $count-1;

    $last_value = $array[$last_key];

?>

您可以使用end函数

<?php
end($array);
key($array);
<?php

    $array[] = 'apple';
    $array[] = 'banana';
    $array[] = 'orange';

    $count = count($array);

    $last_key = $count-1;

    $last_value = $array[$last_key];

?>

请使用此代码:

<?php

    $array[] = 'apple';
    $array[] = 'banana';
    $array[] = 'orange';

    $count = count($array);

    $last_key = $count-1;

    $last_value = $array[$last_key];

?>

请使用此代码:

<?php

    $array[] = 'apple';
    $array[] = 'banana';
    $array[] = 'orange';

    $count = count($array);

    $last_key = $count-1;

    $last_value = $array[$last_key];

?>


您可以使用count($array)并将值减少1@asprin:这只适用于数字索引数组。另请参阅:@Jon:这是OP发布的内容…@KarolyHorvath:如果数组包含任何带有非数字键的元素(可能是在前面添加的),或者如果元素后来被删除,则计数将不起作用。实际上,没有理由使用“更差”的版本。您可以使用count($array)并将值减少1@asprin:这只适用于数字索引数组。另请参见:@Jon:这是OP发布的内容…@KarolyHorvath:如果数组包含任何带有非数字键的元素(可能是在前面添加的),或者如果元素后来被删除,计数行不通。实际上没有理由使用“更差”的版本。@程序员,但它编辑了数组,而这并没有。此外,它还返回了值,OP需要键。@但是它编辑了数组,而这不需要。另外,它返回了值,OP需要密钥。我之所以选择您的解决方案,是因为它很简单,而且可以在一行中完成:
$last\u value=$array[count($array)-1]
谢谢!是的,这是正确的,但我这样编码是为了给读者提供更多细节。我选择您的解决方案,既因为它简单,又因为它可以在一行中完成:
$last\u value=$array[count($array)-1]
谢谢!是的,这是正确的,但我用这种方式编码是为了给读者提供更多的细节。