Jump to content

How to add function "array_merge"


vinbarbre

Recommended Posts

I'm near completing my second php course . I've added my final just below. 


I'm sure you all know what the "array_merge" function does. I've added the array_merge to a new echo, so that I can merge two arrays together.  I wanted to combine ($company->name, $company->department) together.


 


<html>


<head>

<title>PHP</title>

<link rel="stylesheet" href="assets/css/bootstrap.css" media="screen">

<link rel="stylesheet" href="assets/css/bootstrap-responsive.css" media="screen">

  <link rel="stylesheet" href="assets/css/normalize.css" type="text/css" media="screen">

 <link rel="stylesheet" href="assets/css/style.css" media="screen">

 

</head>

<body>

  <div class="navbar">

    <div class="navbar-inner">

      <a class="brand" href="#">Week 9</a>

      <ul class="nav">

        <li class="active"><a href="clients.php">Clients</a></li>

        <li><a href="potential clients.php">Potential Clients</a></li>

        <li><a href="previousclients.php">Pervious Clients</a></li>

      </ul>

    </div>

  </div><!-- END of navbar-->

  

  

  <div align="center">

 

    <h1>CLients</h1>

  <?

 

  date_default_timezone_set("America/Los_Angeles"); # set default timezone

  $imageDir = ".../assets/images";

  

 

  class Clients {

    const IMAGEDIR = "images/";

    public $clients = "Clients";

  }

  /**

   * 

   */

   class Nike extends Clients {

 

    public $category = "sporting goods";

    public $name = "Nike";

    public $department = "Multi Media Devision";

    public $yearsWorked = 9;

    public $jobPerYear = 10;

    public $fullTimeEmployment = false;

    public $freelance= true;

    public $annualBudget= 100000;

    public $founding= "1999-10-27";

    public $visitsBeforeHire= 12000;

    public $visitsAfterHire= 23000;

    public $expenses= 100 ;

    public $income= 500 ;

    public $activelyWorking= true ;

 

    

 

    

    # A Constructor is automatically called when PHP is loaded

    public function __construct() {

      # set path for imageDir

      $this->imagePath = parent::IMAGEDIR . "nike.gif";

    }   

  }

  $nike = new Nike();

 

   class CoffeePress extends Clients {

 

    public $category = "coffee";

    public $name = "Coffee Press";

    public $department = "UI/UX Devision";

    public $yearsWorked = 5;

    public $jobPerYear = 10;

    public $fullTimeEmployment = false;

    public $freelance= true;

    public $annualBudget= 50;

    public $founding= "11992-05-12";

    public $visitsBeforeHire= 12000;

    public $visitsAfterHire= 23000;

    public $expenses= 1700 ;

    public $income= 2500 ;

    public $activelyWorking= true;

   

    

    # A Constructor is automatically called when PHP is loaded

    public function __construct() {

      # set path for imageDir

      $this->imagePath = parent::IMAGEDIR . "coffeepress.jpg";

    }   

  }

  $coffeePress = new CoffeePress();

 

 class BarrettsFruitProduce extends Clients {

 

    public $category = "fruit delivery";

    public $name = "Barrett's Fruit Produce";

    public $department = "Branding / Marketing";

    public $yearsWorked = 1;

    public $jobPerYear = 1;

    public $fullTimeEmployment = false;

    public $freelance= true;

    public $annualBudget= 10000;

    public $founding= "2011-08-25";

    public $visitsBeforeHire= 12000;

    public $visitsAfterHire= 23000;

    public $expenses= 400 ;

    public $income= 600 ;

    public $activelyWorking= false;

 

    

    # A Constructor is automatically called when PHP is loaded

    public function __construct() {

      # set path for imageDir

      $this->imagePath = parent::IMAGEDIR . "fruit.jpg";

    }   

  }

  $barrettsFruitProduce = new BarrettsFruitProduce();

 

  class LeisureLife extends Clients {

 

    public $category = "apparel";

    public $name = "Leisure Life";

    public $department = "Branding / Marketing";

    public $yearsWorked = 3;

    public $jobPerYear = 1;

    public $fullTimeEmployment = true;

    public $freelance= false;

    public $annualBudget= 10000;

    public $founding= "1996-06-06";

    public $visitsBeforeHire= 12000;

    public $visitsAfterHire= 23000;

    public $expenses= 900 ;

    public $income= 1500 ;

    public $activelyWorking= false;

 

    

    # A Constructor is automatically called when PHP is loaded

    public function __construct() {

      # set path for imageDir

      $this->imagePath = parent::IMAGEDIR . "leisurehouse.jpg";

    }   

  }

  $leisureLife = new LeisureLife();

 

  class Nintendo extends Clients {

 

    public $category = "gaming";

    public $name = "Nintendo";

    public $department = "character development";

    public $yearsWorked = 1;

    public $jobPerYear = 8;

    public $fullTimeEmployment = false;

    public $freelance= true;

    public $annualBudget= 10000;

    public $founding= "1985-01-06";

    public $visitsBeforeHire= 800;

    public $visitsAfterHire= 900;

    public $expenses = 800 ;

    public $income = 900 ;

    public $activelyWorking = true ;

 

    

    # A Constructor is automatically called when PHP is loaded

    public function __construct() {

      # set path for imageDir

      $this->imagePath = parent::IMAGEDIR . "imgres.jpg";

    }   

  }

  $nintendo = new Nintendo();

      

  # Create an array containing all the members classes

  $companiesNameArray = array($nike, $coffeePress, $barrettsFruitProduce, $leisureLife, $nintendo);   

 

 

   

 

    // str_replace(search, replace, subject)

 

   // echo str_replace($companiesNameArray, $activelyWorking, %client%);    

 

 

 

    $income = array(

      "Nike" => 500, 

      "CoffeePress" => 2500, 

      "BarrettsFruitProduce" => 600, 

      "LeisureLife" => 1500, 

      "Nintendo" => 900,

      );

   

 

    arsort($income);

    foreach ($income as $key => $val) {

        echo "$key  <i>annual income per year is</i> $$val\n <br /> ";

    }

 

 

 

  

 

  // # Let's introduce all our full time employment

  // echo "<h2>Cilents</h2>";

  // for ($i=0; $i < count($companies); $i++) {

  //    displayProfile($companies[$companiesName[$i]]);

  // }

 

  // #Let's introduce all of our freelance

  // echo "<h2>Freelance</h2>";

  // for ($i=0; $i < count($companies); $i++) {

  //    displayProfile($companies[$companiesName[$i]]);

  // }

 

 

 

# Display our Jump Menu

  echo "<form name=\"jump\">

    <p align=\"center\">

    <select name=\"menu\" onchange='window.location.href=this.options[this.selectedIndex].value'>

    <option selected>All Members</option>

    <option value=\"?sort=name\">Sort by Name</option>

    <option value=\"?sort=nameRev\">Sort by Name (descending)</option>

    <option value=\"?sort=ageLoToHi\">Sort by Age (youngest to oldest)</option>

    <option value=\"?sort=ageHiToLo\">Sort by Age (oldest to youngest)</option>

    <option value=\"?sort=paidLoToHi\">Sort by Paid (highiest paid)</option>

    <option value=\"?sort=paidHiToLo\">Sort by Paid (lowest paid)</option>

    </select></p>

    </form>";

 

 

  $sort = @$_GET['sort']; 

  

 

  # Let's introduce all our members

  echo "<h2>Clients</h2>";

  for ($i=0; $i < count($companiesNameArray); $i++) {

  

    switch ( $sort ) {

      # sort=name -- sorts alphabetically by 'name' in the member array

      case "name" : 

        sort($companiesNameArray);

        displayProfile($companies[$companiesNameArray[$i]]);

        break;

      case "nameRev" : 

        rsort($companiesNameArray);

        displayProfile($companies[$companiesNameArray[$i]]);

        break;

      # sort=ageLoToHi -- sorts alphabetically by 'age' ascending

      case "ageLoToHi" : 

        displayProfile($companies[$companiesNameArray[$i]]);

        break;

      # sort=ageHiToLo -- sorts alphabetically by 'age' descending

      case "ageHiToLo" : 

        displayProfile($companies[$companiesNameArray[$i]]);

        break;

      # default -- spit out all band members according to their order in the array

      default : displayProfile($companies[$companiesNameArray[$i]]);

        break;    

 

      # sort=paidHiToLo -- sorts lowest paid by 'income' descending

      case "paidLoToHi" : 

        displayProfile($companies[$companiesNameArray[$i]]);

        break;

      # sort=paidHiToLo -- sorts highiest paid by 'income' descending

      case "paidHiToLo" : 

        displayProfile($companies[$companiesNameArray[$i]]);

        break;  

      # default -- spit out all band members according to their order in the array

      default : displayProfile($companiesNameArray[$i]);

        break;          

    } 

  }

 

    

 

 

 

  

  

  # FUNCTIONS - Store all functions down here - I could also store them in another file

  function displayProfile($company) {

  

    echo "<div class='characterProfile'><p>";

    # spit out the image

    

    echo "<img src=\"".$company->imagePath."\" width=200px /><br />";

 

    # spit out our caption

   echo "<h3>".$company->name."</h3>";

    echo "<i>Company type:</i> ".$company->category."<br />";

    echo "<i>Contracting Department:</i>  ".$company->department."<br />";

 

 

THE FOLLOWING IS SPECIFICALLY WHAT I WANT TO MERGE

    echo "<pre><i>Company Department:</i> ".array_merge($company->name, $company->department)."<br/>";echo"</pre>";

    echo "<i>Jobs per year:</i> ".$company->jobPerYear."<br />";

    echo "<i>Company founded:</i> ".displayBusinessAge($company->founding)."<br />";

    echo "<i>Age of business: </i> ".calculateAge($company->founding).".<br />";

    echo "Number of visits before redesign: ".$company->visitsBeforeHire." per month.<br />";

    echo "Number of visits after redesign:  ".$company->visitsAfterHire." per month.<br />";

    echo "<i>Costs for this project:</i> $".$company->expenses."<br />";

    setlocale(LC_MONETARY,"en_US");

    echo "<pre><i>Income received: </i> ".money_format( "%i",  $company->income."<br />");echo"</pre>";

    echo "<i>   The Cost-to-Income Ratio for this project was:</i>  ".calculateCostToIncome($company->expenses, $company->income)."<br />";

    $currentEmployment = str_replace("%client%", "$company->name", "Box Car Studio is not currently working for %client%. <br/>");    

    if ($company->activelyWorking == true){

      $currentEmployment = str_replace(" not ", " ", "$currentEmployment");

    }

    echo $currentEmployment;  

    echo "<i>cost-to-income rato:</i>  ".calculateCostToIncome($company->expenses, - $company->income)."<br />";

    echo "</p></div>";

 

  }

    

    

 

   function displayBusinessAge($businessFounding) {

    # January 1, 1984

    $openDateFormatted = date('F j, Y', strtotime($businessFounding));

    return $openDateFormatted;

  }

  

  function calculateAge($businessFounding) {

    #$currentTime = time(); # as a Unix timestamp

    list($year, $month, $day) = explode("-",$businessFounding);

    $elapsedYears = date('Y') - $year;

    $age = $elapsedYears; # calculates number of years elapsed

    # If current date < opendate (i.e. Oct01 < Dec01), then subtract 1 year

    if ( date('n') < $month || ( date('n') == $month && date('j') < $day ) ) {

      $age = $age - 1;

    }

 

    return $age;

  }

 

 

  function calculateCostToIncome($costs, $income) {

    $costToIncomeRatio = round($costs / $income, 2);

    return $costToIncomeRatio;

  }

 

      

?>

  </div>

</body>

<script>

function fasterFasterAudio() { 

    myAudio.playbackRate = (myAudio.playbackRate + 0.2) % 2.0;

  } 

</script>    

<script type="text/javascript" src="js/bootstrap.js"></script>

</html>

Link to comment
https://forums.phpfreaks.com/topic/284640-how-to-add-function-array_merge/
Share on other sites

 

I wanted to combine ($company->name, $company->department) together.

You use the concatenation operator to combine them together.

 echo "<pre><i>Company Department:</i> ".$company->name .' '. $company->department."<br/>";echo"</pre>";

array_merge is for merging arrays together, not strings.

 

I guess you are in the same class as JonnyPHP  ;D or the same person.

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.