Working solution

A full Message Broker development environment is required to do a functional test. A general code review is welcomed.

See https://github.com/DoSomething/messagebroker-config/blob/master/mb-config.inc as the source of the exchange and queue configuration settings.

This has been tested with a sample CSV file that successfully produced entries in the importUser queue.
Lots of repetition here.  A suggested refactor.

````
$signupData = array("Desmond", "Morris", "", "", "\r\n", "09/11/1983");

# Remove all of the carriage return strings.  Do this early
$signupData = str_replace("\r\n", "", $signupData);

$data = array();

# lets create a map
$map = array(
  "Firstname" => 0,
  "Lastname" => 1,
  "Address" => 2,
  "Phone" => 3,
  "Bio" => 4,
  "DOB" => 5
);

foreach ($map as $field => $index) {
  if (isset($arr[$index]) && !empty($arr[$index]) && ($arr[$index] != '')) {
    $data[$field] = $arr[$index];
  }
}
````