无法从PHP中获取ARRAY的数据

时间:2012-10-05 12:26:02

标签: php arrays multidimensional-array

我的数组看起来就像这样。我想从["perm_name"]数组中分离["type_name"]数组AND ["selectdata"]数组。我无法解决这个问题。请帮帮我

    array(1) {
  ["selectData"]=>
  array(2) {
    ["perm_name"]=>
    object(CI_DB_mysql_result)#17 (8) {
      ["conn_id"]=>
      resource(28) of type (mysql link persistent)
      ["result_id"]=>
      resource(34) of type (mysql result)
      ["result_array"]=>
      array(2) {
        [0]=>
        array(7) {
          ["permission_id"]=>
          string(1) "1"
          ["permission_name"]=>
          string(4) "news"
          ["default_is_edit"]=>
          string(1) "Y"
          ["default_is_view"]=>
          string(1) "Y"
          ["default_is_delete"]=>
          string(1) "Y"
          ["default_is_personal"]=>
          string(1) "Y"
          ["active"]=>
          string(1) "Y"
        }
        [1]=>
        array(7) {
          ["permission_id"]=>
          string(1) "8"
          ["permission_name"]=>
          string(13) "movies & play"
          ["default_is_edit"]=>
          string(1) "Y"
          ["default_is_view"]=>
          string(1) "Y"
          ["default_is_delete"]=>
          string(1) "Y"
          ["default_is_personal"]=>
          string(1) "Y"
          ["active"]=>
          string(1) "Y"
        }
      }
      ["result_object"]=>
      array(0) {
      }
      ["custom_result_object"]=>
      array(0) {
      }
      ["current_row"]=>
      int(0)
      ["num_rows"]=>
      int(2)
      ["row_data"]=>
      NULL
    }
    ["type_name"]=>
    object(CI_DB_mysql_result)#18 (8) {
      ["conn_id"]=>
      resource(28) of type (mysql link persistent)
      ["result_id"]=>
      resource(37) of type (mysql result)
      ["result_array"]=>
      array(5) {
        [0]=>
        array(4) {
          ["user_type_id"]=>
          string(1) "1"
          ["user_type"]=>
          string(5) "Admin"
          ["is_active"]=>
          string(1) "Y"
          ["last_modifiled"]=>
          string(19) "2012-10-05 10:38:41"
        }
        [1]=>
        array(4) {
          ["user_type_id"]=>
          string(1) "3"
          ["user_type"]=>
          string(9) "Developer"
          ["is_active"]=>
          string(1) "Y"
          ["last_modifiled"]=>
          string(19) "2012-10-05 10:32:11"
        }


      }
      ["result_object"]=>
      array(0) {
      }
      ["custom_result_object"]=>
      array(0) {
      }
      ["current_row"]=>
      int(0)
      ["num_rows"]=>
      int(5)
      ["row_data"]=>
      NULL
    }
  }
}

帮助我解决这个问题。 在此先感谢。

2 个答案:

答案 0 :(得分:1)

尝试以下方法:

$permName = $array['selectData']['perm_name'];
$typeName = $array['selectData']['type_name'];

答案 1 :(得分:1)

试试这个。

function array_separator($val, $key, $identifier) {
  if ($key == $identifier) { // perm_name
    // do foreach for the perm_name subarray
  } else { // type_name
    // do foreach for the type_name subarray
  }
}

$select_data_array = array(/* the selectData subarray i.e. $array['selectData'] */);

array_walk($select_data_array, 'array_separator', 'perm_name');

希望我的问题是对的。