次のようなデータの配列があります。
$array[0] = array('key1' => 'value1a','key2' => 'value2a','key3' => 'value3a');
$array[1] = array('key1' => 'value1a','key2' => 'value2b','key3' => 'value3b');
$array[2] = array('key1' => 'value1b','key2' => 'value2b','key3' => 'value3c');
$array[3] = array('key1' => 'value1c','key2' => 'value2c','key3' => 'value3c');
このデータを使用して、各キーに基づいて一連のドロップダウン リストを作成する必要があります。ただし、各ドロップダウン リストに一意の値のみが表示されるように、重複を削除したいと考えています。
私はから始めました:
<select>
<?php
foreach($array AS $arr)
{
print "<option>".$arr['key1']."</option>";
};
?>
</select></br>
予想どおり、これにより 4 つのエントリが得られましたが、そのうちの 2 つは同じものでした。
だから私は試しました:
<select>
<?php
foreach(array_unique($array) AS $arr)
{
print "<option>".$arr['key1']."</option>";
};
?>
</select></br>
また:
<select>
<?php
$arr = array_unique($array);
foreach ($arr AS $a)
{
print "<option>".$a['key1']."</option>";
};
?>
</select></br>
しかし、これらは 1 つの項目 (value1a) しか提供しません。詳しく調べてみると、実際には一連のエラーが生成されていることがわかります。
Notice: Array to string conversion in C:\Apache24\htdocs\TEST\test29.php on line 39
しかし、これがなぜなのか、または必要なリストを取得するために修正する方法がわかりませんか?
一意のエントリだけのリストを取得するにはどうすればよいですか?