Array
(
    [0] => Array
        (
            [uid] => 3000000000
            [other_balance] => 0.00
        )
    [1] => Array
        (
            [uid] => 3111111111
            [other_balance] => 0.00
        )
)
array_search(300000,$arr);我需要查找数组的 uid 字段,  怎么查找呀?

解决方案 »

  1.   

    $ar = Array(
        0 => Array
            (
                'uid' => 3000000000,
                'other_balance' => 0.00
            ),
        1 => Array
            (
                'uid' => 3111111111,
                'other_balance' => 0.00
            )
    );function s($needle, $ar) {
       $result = array();
       foreach($ar as $k => $v) {
          if ($v['uid'] == $needle) $result[] = $k;
       }
       return $result;
    }print_r(s(3000000000, $ar));
      

  2.   

    array_filter --  用回调函数过滤数组中的单元 
      

  3.   

    foreach($ar as $a){
    var_dump(array_search(3000000000,$a));
    }
      

  4.   


    <?php
    $array = Array
    (
    0 => Array
            (
                'uid'=> 3000000000,
                'other_balance' => 0.00
            ),
        1 => Array
            (
                'uid'=> 3000000000001,
                'other_balance' => 0.00
            )
    );

    foreach ($array as $array_value){
    var_dump(array_search('3000000000',$array_value));
    }
    ?>
      

  5.   

    $ar = Array(
        0 => Array
            (
                'uid' => 3000000000,
                'other_balance' => 0.00
            ),
        1 => Array
            (
                'uid' => 3111111111,
                'other_balance' => 0.00
            )
    );$key = 'uid';
    $value = '3000000000';print_r(array_filter($ar, 'foo'));function foo($r) {
      global $key, $value;
      return $r[$key] == $value;
    }
    Array
    (
        [0] => Array
            (
                [uid] => 3000000000
                [other_balance] => 0
            ))