php:如何获取数组中数组的值键

时间:2013-10-29 17:39:54

标签: php arrays

我的全部功能

 function jsonData(){
            //$data = $this->DataSet->query("SELECT * FROM data_sets;");
            $data = $this->DataSet->find('all', array(
            'fields' => array('created','systolisch', 'diastolisch', 'gewicht', 'puls'),
    ));
             $columns = array();
             $values = array();

             $count = count($data);

            for($i=0; $i < $count; $i++)
               {
               $keys[] = array_values($data[$i]);
               $values [] = array_values(array_keys($data[$i]));
               }



            $array = array(
               $keys,
               $values,

                );

            return new CakeResponse(array('body' => json_encode($array), 'type' => 'json'));
    }

情况如下:

for($i=0; $i < $count; $i++)
               {
               $keys[] = array_values($data[$i]);
               $values [] = array_values(array_keys($data[$i]));
               }

返回:

[[[{"created":"2013-10-29 14:16:38","systolisch":"77","diastolisch":"83","gewicht":"77","puls":"77"}],[{"created":"2013-10-29 14:52:00","systolisch":"99","diastolisch":"88","gewicht":"80","puls":"100"}]],[["DataSet"],["DataSet"]]]

我需要的是array_values(array(keys)lile diastolisch和systolisch的结果的键。值也应该呈现为普通值而不是对。 我怎么能做到这一点?

1 个答案:

答案 0 :(得分:1)

您可以使用array_keys。这是来自php文档:

<?php
$array = array(0 => 100, "color" => "red");
print_r(array_keys($array));

$array = array("blue", "red", "green", "blue", "blue");
print_r(array_keys($array, "blue"));

$array = array("color" => array("blue", "red", "green"),
           "size"  => array("small", "medium", "large"));
print_r(array_keys($array));
?>

这将输出:

Array
(
[0] => 0
[1] => color
)

Array
(
[0] => 0
[1] => 3
[2] => 4
)
Array 
(
[0] => color
[1] => size
)