2017-12-18 16 views
1

次のように私は多次元配列を持っている:私は取得したいと思いキーで多次元配列を印刷するにはどうすればよいですか?

$adminoptions = array(array("hello","replies",0),array("goodbye","replies",1),array("hola","flagged",0)); 

何が$adminoptions[1]から「さよなら」、「返信や 『1』です。私は以下のコードを使用することができることを承知しています、しかし、私は一つ一つをループにしたくない - 代わりに私が$adminoptions[goodbye]ような何かをできるようにしたいと思います。ここでは

foreach($adminoptions as $array) { 
    if($array[0] == 'goodbye') { 
     echo ' 1) '.$adminoptions[1][0]; // goodbye 
     echo ' 2) '.$adminoptions[0][1]; // replies 
     echo ' 3) '.$adminoptions[0][2]; // 1 
    } 
} 

は何の例です。私が行うことができるようにしたいと思います:

echo ' 1) '.$adminoptions[goodbye][0]; // goodbye 
echo ' 2) '.$adminoptions[goodbye][1]; // replies 
echo ' 3) '.$adminoptions[goodbye][2]; // 1 

答えて

2

アレイを作成し、各サブアレイの0インデックスがユニークであると仮定していない場合は、単に0インデックスの値によってそれらとインデックスを抽出します:

$adminoptions = array_column($adminoptions, null, 0); 
echo $adminoptions['goodbye'][0]; 

あなただけのキーを追加し、アレイを作成した場合は:

$adminoptions = array("hello"=>array("hello","replies",0)); 
echo $adminoptions['hello'][0]; 
+0

こんにちは、おかげであなたの答えのために、私は今それをしようとしますが。しかし、1つの質問ですが、私の配列はあなたがあなたの答えに加えた形式でなければなりませんか?それとも私の罰金ですか? –

+0

最初のオプションはフォーマットです.2番目のオプションは、配列を作成してその構造を制御する場合です。 – AbraCadaver

+0

明確にしてくれてありがとう、私は配列を作成しているので、2番目の形式でそれを行う方が有益でしょうか?そして、私が質問したことを簡単にすることができますか? –

関連する問題