多维关联数组 - 获取键和值

时间:2017-11-24 20:34:53

标签: php arrays multidimensional-array

新手ICT-学生在这里发布第一篇文章! 首先是Stack Overflow社区的大热门。 我花了更多时间在这里找到答案,而不是坐在教室里,有更积极的结果,谢谢!

对我的问题:

我需要存储键和值来从多维关联数组中分离PHP变量。

使用var_dumb($data)

,数组看起来像这样
array(4) {
  [0]=>
  array(0) {
  }
  [1]=>
  array(1) {
    ["Celestial Field"]=>
    string(3) "123"
  }
  [2]=>
  array(1) {
    ["Cosmic Space Worm"]=>
    string(3) "234"
  }
  [3]=>
  array(1) {
    ["Dance For The Dawn"]=>
    string(3) "345"
  }
}

我可以通过以下方式获得Key值:

$ artName = key($ data [1]); 返回“天体场”

如何从数组中获取string(3)值并将其存储到$artAmount? 我试过了:

$artAmount = array_values($data[1]);

但它只返回“数组”。

2 个答案:

答案 0 :(得分:0)

只需使用:

$artName = key($data[1]); //Returns "Celestial Field";

$artAmount = $data[$artName]; //Returns "123";
//--OR--
$artAmount = $data[key($data[1])]; //Returns "123";

答案 1 :(得分:0)

此测试确定

<?php // demo/kasper.php
/**
 * https://stackoverflow.com/questions/47479691/multidimensional-associative-array-get-key-and-value
 */
error_reporting(E_ALL);

// TEST DATA
$data = array
( []
, [ "Celestial Field"    => "123" ]
, [ "Cosmic Space Worm"  => "234" ]
, [ "Dance For The Dawn" => "345" ]
)
;

$point = 1;
$artName = key($data[$point]);
$artAmount = $data[$point][$artName];
var_dump($artName, $artAmount);