array help

array help

am 02.12.2007 02:13:41 von darrell

I am trying to write a function but am stopped at square one.
This snippet

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

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


Beautiful night already 68, great sleeping weather.


chuck




I would expect to see

Array ( [11] => 11)

What I really want to search for is
but originally thought I was
having trouble searching for
so I tried "chuck".



Where am I going wrong?

Re: array help

am 02.12.2007 23:31:56 von darrell

"J.O. Aho" wrote in message
news:5rj3liF14mecsU1@mid.individual.net...
> Darrell wrote:
>
>> >> 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


but originally thought I was
>> having trouble searching for
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, '
') === 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
in a text
file
in order to trim the file to the last X number of occurrences of
.
Darrell

Re: array help

am 03.12.2007 20:27:45 von Shion

Darrell wrote:

> > 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


but originally thought I was
> having trouble searching for
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, '
') === FALSE)) {
echo "there was a horizontal line on the {$key} line\n";
}
}

--

//Aho

Re: array help

am 04.12.2007 06:34:05 von Shion

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


in a text
> file
> in order to trim the file to the last X number of occurrences of
.
> Darrell

This should do the thing you thought about:
$Buf = file("bsshort2.txt");
foreach($Buf AS $key => $value) {
if(!(stristr($value, '
') === FALSE)) {
$hrkeys[]=$key;
}
}


--

//Aho