ms没有找到现成的函数.
只能遍历数组来找了$arrTest = array('test'=>'1111', 'test2'=>'222', 'test3'=>'333', 'test4'=>'5455');function getPos($arrSearch, $serachKey)
{
if(!is_array($arrSearch))
{
retrun -1;
}
$i = 0; while(list($key, $value) = each($arrSearch))
{
if($key == $serachKey)
{
return $i;
}
$i++;
}
return -1;
}echo getPos($arrTest, 'test');

解决方案 »

  1.   

    下面是用纯PHP函数实现的。$arrTest = array('test'=>'1111', 'test2'=>'222', 'test3'=>'333', 'test4'=>'5455');
    $arrTest = array_flip($arrTest);
    $value = array_values($arrTest);
    echo array_search('test2',$value);
      

  2.   


    结果是1这个是返回test2在原数组$arrTest = array('test'=>'1111', 'test2'=>'222', 'test3'=>'333', 'test4'=>'5455')是第几个元素(从0开始,0表示第一个)楼主说的偏移量是指这个么??
      

  3.   


    这种方法应该不能处理数组中有元素值相等的问题吧1楼的方法可以是可以, 不过我实际问题是这样, mysql_query和mysql_fetch_array得到数组$a,我需要获得$a中键名为"file"之后的元素所组成的新的数组(不知道偏移量),本来是打算用array_slice, 但它需要一个数字索引.如果按1楼说的遍历的话, 那直接array_shift把"file"之前的元素一个一个去除就可以了.
      

  4.   

    自已写的sql语句,字段在哪个位置应该能看出吧.