2017-11-24 9 views
0

初心者ICT-最初の投稿でここに学生! まず第一に、スタックオーバーフローコミュニティに大きな影響を与えます。 私はここで答えを見つけるのにもっと時間を費やしています。もっと肯定的な結果を出して、ありがとう!私の問題へ多次元連想配列 - キーと値を取得

私は多次元連想配列から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" 
    } 
} 

$ artName =キー($データ[1]); 「天体フィールド」を返す

string(3の値を配列から取得し、それを$artAmountに保存しますか? 私は試しました:

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

しかし、それは "配列"を返します。

+0

$ artAmount = $データ[1] [ "天体フィールド"]; ? –

+0

それは簡単だった。他のartAmountを取得する必要がある場合は、単に$ artNameをインデックスとして使用できます。ありがとうございました。 – Kasper

+0

array_valuesは配列を返します。配列を返すときに配列を出力します。あなたは 'array_values($ data [1])[0]'を使うことができますが、上記のコメントを使うべきだと思います。 – jh1711

答えて

0

このうちテストOK

<?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);

0

だけ使用します。

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

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