array help
I am trying to write a function but am stopped at square one.
This snippet
<?php
error_reporting(E_ALL);
$Buf = file("bsshort2.txt");
print_r ($Buf);
$aKeys = array_keys($Buf);
print_r ($aKeys);
?>
prints out the file with all of the keys and then prints all of the keys as
expected.
This version
<?php
error_reporting(E_ALL);
$Buf = file("bsshort2.txt");
print_r ($Buf);
$aKeys = array_keys($Buf,("chuck"));
print_r ($aKeys);
?>
prints out the file with all of the keys and then prints Array ( )
This is part of the array that is printed
[9] => Beautiful night already 68, great sleeping weather.
[10] => chuck [11] =>
and this is from the file that is being read
I don't want anybody dying on my watch PEROID. I just don't like LTs.
hollering at me,GRIN<P>
Beautiful night already 68, great sleeping weather.<P>
chuck
<HR>
I would expect to see
Array ( [11] => 11)
What I really want to search for is <HR> but originally thought I was
having trouble searching for <HR> so I tried "chuck".
Where am I going wrong?
Re: array help
Darrell wrote:
> <?php
> error_reporting(E_ALL);
> $Buf = file("bsshort2.txt");
> print_r ($Buf);
> $aKeys = array_keys($Buf,("chuck"));
> print_r ($aKeys);
> ?>
>
> prints out the file with all of the keys and then prints Array ( )
> Array ( [11] => 11)
>
> What I really want to search for is <HR> but originally thought I was
> having trouble searching for <HR> so I tried "chuck".
The search in the array_keys if for searching in the keys and not the content
in the cells (there are plenty other functions for that).
The parentheses around chuck don't give you any advantage, drop those and get
a code that is easier to understand. Don't forget to use indentation and you
make the code even easier to read.
Not sure, but the following code may be more of use for you...
$Buf = file("bsshort2.txt");
foreach($Buf AS $key => $value) {
echo $key." => ".$value."\n";
if(!(stristr($value, '<HR>') === FALSE)) {
echo "there was a horizontal line on the {$key} line\n";
}
}
--
//Aho
Re: array help
"J.O. Aho" <user [at] example.net> wrote in message
news:5rj3liF14mecsU1 [at] mid.individual.net...
> Darrell wrote:
>
>> <?php
>> error_reporting(E_ALL);
>> $Buf = file("bsshort2.txt");
>> print_r ($Buf);
>> $aKeys = array_keys($Buf,("chuck"));
>> print_r ($aKeys);
>> ?>
>>
>> prints out the file with all of the keys and then prints Array ( )
>> Array ( [11] => 11)
>>
>> What I really want to search for is <HR> but originally thought I was
>> having trouble searching for <HR> so I tried "chuck".
>
> The search in the array_keys if for searching in the keys and not the
> content
> in the cells (there are plenty other functions for that).
>
> The parentheses around chuck don't give you any advantage, drop those and
> get
> a code that is easier to understand. Don't forget to use indentation and
> you
> make the code even easier to read.
>
> Not sure, but the following code may be more of use for you...
>
> $Buf = file("bsshort2.txt");
> foreach($Buf AS $key => $value) {
> echo $key." => ".$value."\n";
> if(!(stristr($value, '<HR>') === FALSE)) {
> echo "there was a horizontal line on the {$key} line\n";
> }
> }
>
> --
>
> //Aho
Thanks, That does get me closer and explains why I was getting no results
from
$aKeys = array_keys($Buf,("chuck"));
print_r ($aKeys);
I wrote that snippet just to see what the output was from array_keys because
nothing was working as expected.
What I was aiming for is an array with all of the keys for <HR> in a text
file
in order to trim the file to the last X number of occurrences of <HR>.
Darrell
Re: array help
Darrell wrote:
> I wrote that snippet just to see what the output was from array_keys because
> nothing was working as expected.
> What I was aiming for is an array with all of the keys for <HR> in a text
> file
> in order to trim the file to the last X number of occurrences of <HR>.
> Darrell
This should do the thing you thought about:
$Buf = file("bsshort2.txt");
foreach($Buf AS $key => $value) {
if(!(stristr($value, '<HR>') === FALSE)) {
$hrkeys[]=$key;
}
}
--
//Aho