今天写PHP的时候遇到了一个关于数组的问题

array (
        22 => 3000,
        1 => 2900,
        8 => 2588,
        11 => 2400,
        6 => 2000,
        30 => 1900,
        39 => 1800,
        25 => 1400,
        40 => 1300,
        100 => 1244,
        15 => 1000,
        69 => 900,
        70 => 888,
        3 => 666,
        333 => 10 
);

PHP里面,这样的一个数组,怎样才能高效的取出前10个,怎样才能算出key为333的是第几个.

<?php

$array = array (
    22 => 3000,
    1 => 2900,
    8 => 2588,
    11 => 2400,
    6 => 2000,
    30 => 1900,
    39 => 1800,
    25 => 1400,
    40 => 1300,
    100 => 1244,
    15 => 1000,
    69 => 900,
    70 => 888,
    3 => 666,
    333 => 10 
);
//通过array_slice截取前面10个元素
$arr1 = array_slice($array, 0, 10, true);
print_r($arr1);
//通过array_search来获取key为333的位置
$pos = array_search(333, array_keys($array));
echo $pos+1;//$pos+1为实际位置,$pos为数组中位置,0开始
  • ThinkPHP 做个文字聊天室,求最简单做法
  • phalcon中model中验证报错
  • ImageMagick 生成海报
  • php ceil取整的问题,求解。
  • 为什么我这个分页变不了颜色呢?
  • PHP怎么断点调试
  • 奇葩面试题:echo max(null,true);
  • PHP用什么来快速消费队列
  • Zend Framework 升级到Zend Framework2的解决方案?
  • hhvm使用问题
  • 如何准确地评价自己的php技术能力?