Jump to content

JohnOlivier

New Members
  • Posts

    7
  • Joined

  • Last visited

    Never

Posts posted by JohnOlivier

  1. Ken great post but I encounter the following:

    The output as coded is:
    Array
    (
        [eggs,1000] =>
        [milk,1] =>
        [bread,1000] =>
    )

    Array
    (
        [eggs,1] =>
        [milk,1000] =>
        [bread,1] =>
    )

    Buy eggs from vendor one
    Buy milk from vendor one
    Buy bread from vendor one

    I would like it to look like:

    Array
    (
        [eggs] => 1000
        [milk] => 1
        [bread] => 1000
    )

    Array
    (
        [eggs] => 1
        [milk] => 1000
        [bread] => 1
    )

    Buy eggs from vendor two
    Buy milk from vendor one
    Buy bread from vendor two
  2. Thanks!  I'll definately check out the fgetcsv function.  It looks pretty promising for loading the vendor arrays.

    I fixed my boneheaded error that you pointed out with the variable name and still no luck.

    The code as it stands now is:

    <?php

    $fp1  = 'needs';
    $fp2  = 'vendor1';
    $fp3  = 'vendor2';

    $needs = array();
    $vItems1 = array();
    $vItems2 = array();

    if ($vendor1 = @file ($fp2))
    {
    foreach ($vendor1 as $v1)
    {
    $tempArray = explode("\t", $v1);
    $item = $tempArray[0];
    $price = substr($tempArray[1], 0, (strlen($tempArray[1])-1));
    $vItems1[$item] = $price;
    }
    }
    else
    echo "Could not find your first vendor! <br>";


    if ($vendor2 = @file ($fp3))
    {
    foreach ($vendor2 as $v2)
    {
    $tempArray = explode("\t", $v2);
    $item = $tempArray[0];
    $price = substr($tempArray[1], 0, (strlen($tempArray[1])-1));
    $vItems2[$item] = $price;
    }
    }
    else
    echo "Could not find your second vendor! <br>";


    if ($needs = @file ($fp1))
    {
    foreach($needs as $need)
    {
    if($vItems1[$need] > $vItems2[$need])
    echo "Buy " . $need . " from vendor two. <br>";
    else
    echo "Buy " . $need . " from vendor one. <br>";
    }
    }
    else
    echo "Could not find a list of your current inventory need! <br>";

    php?>
  3. Thanks for the input, but I have already tried with just one $.  That was my initial guess, and it behaves the exact same way (not sure why). 

    I'll give the print_r() function a shot and see what my arrays are holding.  Thanks for the info.

    [b]UPDATE:[/b]

    [i]Output of print_r() on arrays:[/i]

    needs    = Array ( [0] => eggs [1] => milk [2] => bread )
    vendor1 = Array ( [0] => eggs 1000 [1] => milk 1 [2] => bread 1000 )
    vendor2 = Array ( [0] => eggs 1 [1] => milk 1000 [2] => bread 1 )

    It seems my keys are not being set properly.  I would like eggs to be a key not the number 0, etct...

    Any thought on how to do this?
  4. Hello All,

    Any help regarding the following matter would be much appreciated.

    I am having a vexing problem.  I am new to PHP (about 3 or 4 days now), and I am having a problem doing what I would imagine would be very simple to accomplish in a language like C++.

    I have three files:

    1.  A list of needs
    2.  A vendor and the cost for these needs
    3.  Another vendor and the cost for these needs

    So here is the idea.  I read all the needs into an array.  I then read all the vendor offerings and store them into two seperate arrays.  The key's of the array are what they are supplying and the values are the prices of the product.  Now I would like to index the vendor arrays with my needs, compare who is cheaper, and output the response to my user.

    I used two sample files where the vendor 1 wins some and vendor 2 wins some.  However, the code that follows does not accurately tell which vendor to use.  It always allows vendor 1 to win.  I am super confused.

    Please note that the following code is very "simple".  I am making the mother of all assumptions, that I have perfect input and a perfect user.  I do no error checking other than the files being there.

    Before, or after, reviewing the following input files and code you can see what is going on at:
    [url=http://www.latech.edu/~jdo017/kings/process.php]http://www.latech.edu/~jdo017/kings/process.php[/url]

    [b]
    INPUT FILES:[/b]
    [i]
    Needs:[/i]
    eggs
    milk
    bread

    [i]Vendor1:[/i]
    eggs 1000
    milk 1
    bread 1000
    [i]
    Vendor2:[/i]
    eggs 1
    milk 1000
    bread 1


    [b]CODE SNIPPET:[/b]

    <?php

    $fp1  = 'needs';
    $fp2  = 'vendor1';
    $fp3  = 'vendor2';

    $vItems1 = array();
    $vItems2 = array();

    if ($vendor1 = @file ($fp2))
    {
      foreach ($vendor1 as $v1)
      {
          $tempArray = explode("\t", $v1);
          $item = $tempArray[0];
          $price = substr($tempArray[1], 0, (strlen($tempArray[1])-1));
          $vItems1[$item] = $price;
      }
    }
    else
      echo "Could not find your first vendor!
    ";
     
     
    if ($vendor2 = @file ($fp3))
    {
      foreach ($vendor2 as $v2)
      {
          $tempArray = explode("\t", $v2);
          $item = $tempArray[0];
          $price = substr($tempArray[1], 0, (strlen($tempArray[1])-1));
          $vItems2[$item] = $price;
      }
    }
    else
      echo "Could not find your second vendor!
    ";
     

    if ($needs = @file ($fp1))
    {
      foreach($needs as $need)
      {
          if($vItems1[$$need] > $v2tems1[$$need])
            echo "Buy " . $need . " from vendor two.
    ";
          else
            echo "Buy " . $need . " from vendor one.
    ";
      }
    }
    else
      echo "Could not find a list of your current inventory need!
    ";

    echo $ip;

    php?>
  5. Hello All,

    Any help regarding the following matter would be much appreciated.

    I am having a vexing problem.  I am new to PHP (about 3 or 4 days now), and I am having a problem doing what I would imagine would be very simple to accomplish in a language like C++.

    I have three files:

    1.  A list of needs
    2.  A vendor and the cost for these needs
    3.  Another vendor and the cost for these needs

    So here is the idea.  I read all the needs into an array.  I then read all the vendor offerings and store them into two seperate arrays.  The key's of the array are what they are supplying and the values are the prices of the product.  Now I would like to index the vendor arrays with my needs, compare who is cheaper, and output the response to my user.

    I used two sample files where the vendor 1 wins some and vendor 2 wins some.  However, the code that follows does not accurately tell which vendor to use.  It always allows vendor 1 to win.  I am super confused.

    Please note that the following code is very "simple".  I am making the mother of all assumptions, that I have perfect input and a perfect user.  I do no error checking other than the files being there.

    CODE SNIPPET:

    <?php

    $fp1  = 'needs';
    $fp2  = 'vendor1';
    $fp3  = 'vendor2';

    $vItems1 = array();
    $vItems2 = array();

    if ($vendor1 = @file ($fp2))
    {
    foreach ($vendor1 as $v1)
    {
    $tempArray = explode("\t", $v1);
    $item = $tempArray[0];
    $price = substr($tempArray[1], 0, (strlen($tempArray[1])-1));
    $vItems1[$item] = $price;
    }
    }
    else
    echo "Could not find your first vendor! <br>";


    if ($vendor2 = @file ($fp3))
    {
    foreach ($vendor2 as $v2)
    {
    $tempArray = explode("\t", $v2);
    $item = $tempArray[0];
    $price = substr($tempArray[1], 0, (strlen($tempArray[1])-1));
    $vItems2[$item] = $price;
    }
    }
    else
    echo "Could not find your second vendor! <br>";


    if ($needs = @file ($fp1))
    {
    foreach($needs as $need)
    {
    if($vItems1[$$need] > $v2tems1[$$need])
    echo "Buy " . $need . " from vendor two. <br>";
    else
    echo "Buy " . $need . " from vendor one. <br>";
    }
    }
    else
    echo "Could not find a list of your current inventory need! <br>";


    /*$banned_array = $this->banned_array;
    $ip = trim($_SERVER['REMOTE_ADDR']);
    $cpu = gethostbyaddr($ip);*/

    echo $ip;

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