What happened to the Messenger Plus! forums on msghelp.net?
Shoutbox » MsgHelp Archive » Skype & Technology » Tech Talk » PHP Array Help

PHP Array Help
Author: Message:
stoshrocket
Senior Member
****

Avatar
formerly methos

Posts: 748
Reputation: 31
33 / Male / Flag
Joined: Aug 2005
O.P. PHP Array Help
Hey Guys,

I've just started up a little project after years of inactivity in the coding world, but hit a bit of a snag. Simplified and to just deal with the root of my problem let's consider the following:

I have three files, index.php, one_list.txt and two_list.txt.

The contents of these files is as follows:

one_list.txt:
code:
monkey
rhino
ironing_board

two_list.txt:
code:
penguin
baguette
pillow

index.php:
code:
<?php
$one = "monkey";
$two = "baguette";

$one_array = file("one_list.txt");
$two_array = file("two_list.txt");

if (in_array("$one",$one_array)){
    echo"one present!<br />";
    if(in_array("$two",$two_array)){
        echo"two present!";
    }
    else{
    echo"two missing!";
    }
}
else{
    echo"one missing!";
}
?>


Now, basically, when run the index page should set the two variables $one and $two, then set the arrays $one_array and $two_array using the two text files, then check $one_array for $one, and if successful check $two_array for $two, but this isn't working. When I run index.php $one is not found within the array, even though it clearly is in the text file... Can anyone see why? Thanks =)
formerly methos
02-19-2009 09:07 PM
Profile PM Web Find Quote Report
matty
Scripting Guru
*****


Posts: 8336
Reputation: 109
39 / Male / Flag
Joined: Dec 2002
Status: Away
RE: PHP Array Help
I didn't know the file function read the entire contents of the file to an array...

PHP code:
<?php
    $one = "monkey";
 
    // the HTML source of a URL.
    $lines = file('./one_list.txt');
 
    // Loop through our array, show HTML source as HTML source; and line numbers too.
    foreach ($lines as $line_num => $line) {
        if ($line == $one) {
            echo "Line #<b>{$line_num}</b> : " . htmlspecialchars($line) . "<br />\n";
        }
    }
?>


Or better yet why are you putting your variables in ""
PHP code:
<?php
$one = "monkey";
$two = "baguette";
 
$one_array = file("one_list.txt");
$two_array = file("two_list.txt");
 
if (in_array("$one",$one_array)){    echo"one present!<br />";
    if(in_array("$two",$two_array)){        echo"two present!";
    }
    else{
    echo"two missing!";
    }
}
else{
    echo"one missing!";
}
?>


PHP code:
<?php
$one = "monkey";
$two = "baguette";
 
$one_array = file("one_list.txt");
$two_array = file("two_list.txt");
 
if (in_array($one, $one_array)){    echo"one present!<br />";
    if(in_array($two, $two_array)){        echo"two present!";
    }
    else{
    echo"two missing!";
    }
}
else{
    echo"one missing!";
}
?>


And if the above works you can simplify it:
PHP code:
<?php
    if ( in_array("monkey", file("one_list.txt") ) ) {  echo"one present!<br />";
    if( in_array("baguette", file("two_list.txt") ) ){ echo"two present!"; }
    else{ echo"two missing!"; }
    } else { echo"one missing!"; }
?>


This post was edited on 02-19-2009 at 09:20 PM by matty.
02-19-2009 09:14 PM
Profile E-Mail PM Find Quote Report
prashker
Veteran Member
*****


Posts: 5109
Reputation: 104
– / Male / –
Joined: Mar 2005
Status: Away
RE: PHP Array Help
quote:
Originally posted by matty
I didn't know the file function read the entire contents of the file to an array...
that's exactly what file() does :p, puts each line into an array

quote:
Originally posted by matty
Or better yet why are you putting your variables in ""
it doesn't matter

This post was edited on 02-19-2009 at 09:18 PM by prashker.
02-19-2009 09:16 PM
Profile PM Find Quote Report
matty
Scripting Guru
*****


Posts: 8336
Reputation: 109
39 / Male / Flag
Joined: Dec 2002
Status: Away
RE: PHP Array Help
quote:
Originally posted by SonicSam
quote:
Originally posted by matty
Or better yet why are you putting your variables in ""
it doesn't matter
i r nub i guesses
02-19-2009 09:21 PM
Profile E-Mail PM Find Quote Report
prashker
Veteran Member
*****


Posts: 5109
Reputation: 104
– / Male / –
Joined: Mar 2005
Status: Away
RE: PHP Array Help
PHP code:
<?php
 
$one = "monkey";
$two = "baguette";
 
 $one_array = array_map('rtrim',file('one_list.txt'));  $two_array = array_map('rtrim',file('two_list.txt'));  
if (in_array($one,$one_array)) {
    echo"one present!<br />";
    if(in_array($two,$two_array)){
        echo"two present!";
    }
    else{
    echo"two missing!";
    }
}
else{
    echo"one missing!";
}
 
?>


rtrim — Strip whitespace (or other characters) from the end of a string
array_map — Applies the callback to the elements of the given arrays

i won the game

http://sonicsam.net/quest.php

This post was edited on 02-19-2009 at 09:44 PM by prashker.
02-19-2009 09:42 PM
Profile PM Find Quote Report
stoshrocket
Senior Member
****

Avatar
formerly methos

Posts: 748
Reputation: 31
33 / Male / Flag
Joined: Aug 2005
O.P. RE: PHP Array Help
quote:
Originally posted by SonicSam
PHP code:
<?php
 
$one = "monkey";
$two = "baguette";
 
 $one_array = array_map('rtrim',file('one_list.txt'));  $two_array = array_map('rtrim',file('two_list.txt'));  
if (in_array($one,$one_array)) {
    echo"one present!<br />";
    if(in_array($two,$two_array)){
        echo"two present!";
    }
    else{
    echo"two missing!";
    }
}
else{
    echo"one missing!";
}
 
?>


rtrim — Strip whitespace (or other characters) from the end of a string
array_map — Applies the callback to the elements of the given arrays

i won the game

http://sonicsam.net/quest.php

YAY! You win! Have a cookie [Image: cookie.gif]

Thankles very much Sam! =)
formerly methos
02-19-2009 10:51 PM
Profile PM Web Find Quote Report
« Next Oldest Return to Top Next Newest »


Threaded Mode | Linear Mode
View a Printable Version
Send this Thread to a Friend
Subscribe | Add to Favorites
Rate This Thread:

Forum Jump:

Forum Rules:
You cannot post new threads
You cannot post replies
You cannot post attachments
You can edit your posts
HTML is Off
myCode is On
Smilies are On
[img] Code is On