4

タイプの配列があります

$records = array(
array(
    'id' => 2135,
    'first_name' => 'John',
    'last_name' => 'Cena',
),
array(
    'id' => 5623,
    'first_name' => 'Peter',
    'last_name' => 'Doe',
));

出力を次の形式で表示したい

[2135] => John Cena
[5623] => Peter Doe

次のコードを使用して、期待される結果を表示しようとしましたが、機能しません。

$names = array_column($records, 'first_name' . 'last_name', 'id');

配列の 2 つの列を 1 つに連結するにはどうすればよいですか?

4

5 に答える 5

5

foreach ループを使用して、新しい配列を作成できます。

これを試して

  $newArray = [];
    foreach($records as $key => $value) {
      $newArray[$value['id']]= $value['first_name']." ".$value['last_name'];          
    }

   print_r($newArray); 

出力

Array
(
    [2135] => John Cena
    [5623] => Peter Doe
)
于 2018-09-17T05:10:11.230 に答える
1

別の配列を作成することでそれを実現できます。foreachループを使用して、サブ配列の値を新しく作成された配列にマージするだけです。

$records = array(
array(
    'id' => 2135,
    'first_name' => 'John',
    'last_name' => 'Cena',
),
array(
    'id' => 5623,
    'first_name' => 'Peter',
    'last_name' => 'Doe',
));

foreach($records as $data)
{
  $temp[$data['id']] = $data['first_name'].' '.$data['last_name'];
}
echo "<pre>";
print_r($temp);



// Output

Array
(
    [2135] => John Cena
    [5623] => Peter Doe
)
于 2018-09-17T05:24:33.893 に答える