Array_unique()?

I have an array

$materials

How do make it so I can take that array and find only unique instances of manufacturers

  foreach($materials as $material) {
	echo "\r\n";
	echo '<option value="'.$material['manufacturer'].'">';
  }

displays

<option value="Widget">
<option value="Widget">
<option value="Dell">
<option value="Dell">
<option value="Dell">
<option value="Dell">
<option value="Dell">
<option value="Widget">
<option value="Widget">
<option value="Widget">
<option value="Widget">
<option value="AMC">

Is the array coming from a database?

yes, do I need to run another qury
Or can I work manpulate

$materials

This can, and should be handled at the database level. I suspect your database design may have a problem. We would need to see your DB schema to give you the correct answer.

The manufacturers should be in one table and each manufacturer should only be listed once with a unique ID number.

my table

CREATE TABLE materials (
   material_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
   category ENUM('0','1','2','3','4','5','6','7','8','9','10'),
   manufacturer VARCHAR(50),
   model VARCHAR(50),
   width DECIMAL(6,2),
   height DECIMAL(6,2),
   depth DECIMAL(6,2),
   plugs TINYINT UNSIGNED,
   ports TINYINT UNSIGNED,
   number_of_rows TINYINT UNSIGNED,
   number_of_columns TINYINT UNSIGNED,
   row TINYINT UNSIGNED,
   col TINYINT UNSIGNED,
   PRIMARY KEY ( material_id )
);

the new query/array

	$sql = "SELECT UNIQUE(manufacturer) FROM materials";
	//echo $sql;
	$result = $pdo->query($sql);
	
	$material_manufacturers = $result->fetchAll(PDO::FETCH_ASSOC);

As I mentioned previously, the manufacturers should be in their own table with a unique id. That ID should then be referenced in your material table.

When you find yourself duplicating data, that’s a sure sign that there is a problem with your database design.

Look up database normalization to see how you should be doing it.