Jump to content

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.

Edited by Ch0cu3r
This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • 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.