2017-01-03 10 views
-1

私は複数の配列を持っています。各配列から、私は位置 '0'をエコーする必要があります。これはどうすればいいですか?PHPは複数の配列から特定の位置をエコーする

[0] => Array 
    (
     [accountname] => test 
     [0] => test 
    ) 

[1] => Array 
    (
     [accountname] => test2 
     [0] => test2 
    ) 

私はこれを試しましたが、アレイ内の位置0ではなく0である配列からすべての位置をエコーし​​ます。

test, testが返されますが、test,test2が必要です。

+2

あなたは、あなたの質問に、あなたの現在のコードを追加するのを忘れ。 – arkascha

答えて

1

array_walkまたはforeachを使用して配列をトラバースするには、インデックス0を使用して内部配列にアクセスします。

array_walk($array, function($v){echo $v[0];}); 
1

多くの可能なアプローチ。それらのいくつかのために、この単純な例を見てみましょう:

<?php 
$input = [ 
    [ 
     'accountname' => 'test', 
     0 => 'test' 
    ], 
    [ 
     'accountname' => 'test2', 
     0 => 'test2' 
    ] 
]; 

// #1: treating the input as a table and selecting a "column": 
var_dump(array_column($input, 0)); 

// #2: using an anonymous "lambda" function: 
$output = []; 
array_walk($input, function($val) use (&$output) { $output[]=$val[0]; }); 
var_dump($output); 

// #3: destructive approach flattening the input: 
$output = $input; 
array_walk($output, function(&$val) { $val = $val[0]; }); 
var_dump($output); 

// #4: simple "foreach" loop, traditional approach: 
$output = []; 
foreach($input as $entry) { 
    $output[] = $entry[0]; 
} 
var_dump($output); 

// #5: classical "for" loop, scales better for big data: 
$output = []; 
for($i=0; $i<count($input); $i++) { 
    $output[] = $input[$i][0]; 
} 
var_dump($output); 

それぞれの出力は明らかである:

array(2) { 
    [0] => 
    string(4) "test" 
    [1] => 
    string(5) "test2" 
} 
関連する問題