1
<?php
$x = array(
       "C_Card_ID" => array(
                              "dbName"=>"CardID",
                              "type"=>"disabled",
                              "key"=>"primary"
                          ),
       "C_Payroll_ID" => array(
                              "dbName"=> "PayrollID",
                              "key"=>"unique"
                          ),
       "C_First_Name" => array("dbName"=>"FirstName")
?>

我想要在其第二个数组$x中有索引的键。"key"简而言之,我需要 C_Card_ID 和 C_Payroll_ID 作为数组中的输出,所以稍后我将对它们进行内爆。

Required output Sample : Array("C_Card_ID","C_Payroll_ID")

请不要使用循环算法。我需要使用一些内置功能。

4

3 回答 3

2

这应该这样做:

$result = array_keys(array_filter($x, function($arr){
  return array_key_exists('key', $arr);
}));
于 2013-06-28T07:50:07.213 回答
2

尝试使用array_slice() 之类的,

<?php
    $x = array(
           "C_Card_ID" => array(
                                  "dbName"=>"CardID",
                                  "type"=>"disabled","key"=>"primary"
                              ),
           "C_Payroll_ID" => array(
                                  "dbName"=> "PayrollID",
                                  "key"=>"unique"
                              ),
           "C_First_Name" => array("dbName"=>"FirstName"));
    print_r(array_slice(array_keys($x),0,2));
    //Outputs
    //Array ( [0] => C_Card_ID [1] => C_Payroll_ID ) 
?>

在http://writecodeonline.com/php/上测试

于 2013-06-28T07:52:26.617 回答
2

您可以使用array_filter

语法是:

$filtered_array = array_keys(array_filter($x, function($a){ return isset($a['key']); }));
于 2013-06-28T07:52:39.013 回答