[PHP] array_search and in_array

2006-07-12 Thread Jo�o C�ndido de Souza Neto
Hi everyone.

I´m facing a big trouble that a don understand why is it happenin.

I´ve got an array with 1046 elements in it like this.

Here is a part of a print_r of my array.

Array ( [0] => 0001-01 [1] => 0003-01 [2] => 0140-01 [3] => 0141-01 [4] => 
0142-01 [5] => 0170-03 [6] => 0181-01 [7] => 0182-04 [8] => 0186-06 [9] => 
0186-08 [10] => 0550-01 [11] => 0720-01 [12] => 0730-01 [13] => 0740-01 [14] 
=> 0750-01 [15] => 1311-07 [16] => 1316-01 [17] => 1316-02 [18] => 1316-03 
[19] => 278980198657138 [20] => 278980198657139 [21] => 278980198657141 [22] 
=> 278980198657142...

I get some data from mysql and try to use both functions that´s in the 
subject to test if the code returned by database is in array, but it isn´t 
working.

By a for i pass by each register returned by database and print the code and 
if it´s in my array, something like this:

for($y=0; $y<$con->count;$y++){
   $con->Seek($y);
   echo $con->result['cod_loja']." - 
".(array_search($con->result['cod_loja'],$_SESSION["cod_loja"])?"Found":"Not 
found")."";
  }

Here is a part of result of the code above:

0003-01 - Not found
0140-01 - Not found
0141-01 - Not found
0142-01 - Not found
0170-03 - Not found
0181-01 - Not found
0182-04 - Not found
0186-06 - Not found
0186-08 - Not found
0550-01 - Not found

Notice that the code 0003-01 is one code that is in my arrasy, but the 
function do not found it.

Could anyone help me in this, please?

Thanks a lot.

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] array_search function bugged? update

2006-03-27 Thread Robin Vickery
On 27/03/06, je killen <[EMAIL PROTECTED]> wrote:
> Hi all
> Here is an update on my problem reported with the array_search function.
> to those who directed me to the bug report page, thanks.
> There are a number of reports specific to this function. Maybe event
> someone else has written a fix.
> here is my solution to my problem.

There are no open bug reports for array_search(). Loads of bogus ones though.

array_search() also completely the wrong tool for the job - the code
you posted is much more complicated and slower than it needs to be.

That whole palaver that you go through to produce $reduced could be
replaced with:

   $reduced = array_merge(array(), array_unique($str));

That nested loop you use to produce $final would be rather simpler and
faster if you just flipped $reduced and used a hash lookup.

   $charmap = array_flip($reduced);
   foreach ($str as $char) { $final[] = $charmap[$char]; }

-robin

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP] array_search function bugged update errata

2006-03-26 Thread je killen

sorry all for the mistake in the code;
in this line 'array $input' should be string $input.
function word_wise(array $input, int $what) //returns an array
so it reads
function word_wise(string $input, int $what) //returns an array
this should be the only mistake. I added this stuff as an afterthought 
after

all the code was working perfectly in my test code.
best
JK

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP] array_search function bugged? update

2006-03-26 Thread je killen

Hi all
Here is an update on my problem reported with the array_search function.
to those who directed me to the bug report page, thanks.
There are a number of reports specific to this function. Maybe event
someone else has written a fix.
here is my solution to my problem.

The following code* was developed and finalized by J.E.Killen 3/2006
* accept of course for array_search() itself.
function word_wise(array $input, int $what) //returns an array
  {$str = array();
   $stra = array();
   $str = str_split($input); //turns string into 
array
   $stra = $str; // saves a copy for final 
reconcilliation

   $tmp = '';// used to hold and transfer values
   $final = array(); // ***THE WHOLE POINT
   $reduced = array(); // reduction array
   $formula = array(); // interum array
   $output = array();  // test output.
   for($i = 0; $i < count($str); $i++)
{$formula[$i] = array_search($str[$i], 
$str);

 if($formula[$i] < $i) // use of $formula
 {$str[$i] = '';} // repeats eliminated from $str
}; // if $i is greater than formula[$i], formula[$i] is 
a repeat.
for($i = 0; $i < count($str); $i++)
   {if($str[$i] != '') // looks for empty 
strings in $str

  {
array_push($reduced, $str[$i]); // 
fills $reduced with
// non 
empty $str items
// to 
produce an array of
// all 
unique letters

   }
   };
   for($i = 0; $i < count($stra); $i++)
  {for($j = 0; $j < count($reduced); $j++)
  {
if($stra[$i] == $reduced[$j])//produces 
the final formula for
   {$final[$i] = $j; }   // 
reconstruction of the word.

  }
   }
   for($i = 0; $i < count($final); $i++)
  { $tmp = $final[$i];
$output[$i] = $reduced[$tmp]; //test run 
reconstructs word from $final and  $reduced.

   }
   switch($what) //options to chose what to return
  {case 1:
   return $reduced; //reduction to all unique 
letters

   break;
   case 2:
   return $stra;//original
   break;
   case 3:
   return $final;   // reconstruction formula
   break;
   case 4:
   return $output;  //test
   break;
}
 } // end word_wise()

Just want to return something to the php community
Jeff K

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] array_search function bugged?

2006-03-21 Thread Jim Lucas

Richard Lynch wrote:

On Mon, March 20, 2006 8:35 pm, je killen wrote:

  

I really don't understand, though, why you are doing things the way
you describe...
  

I only want one image file for each distinct letter, no repeats
because
I can't put two or more files with the same name
in the same dir. The images need to be drug around DHTML style and
reassembled into the correct word. Javascript
needs to be able to establish when the chars are in the correct order
so I need to have php feed it a formula to refer to.



Okay, now we are getting somewhere!

The easiest way to meet the unique filename requirement is to name
each file after its letter:
a.png
b.png
c.png

Of course, they only need to APPEAR that way to the browser and
Javascript.

In reality, you may not actually have a file named "a.png" at all.

For example, if your HTML is like this:


And you have a PHP script drawchar.php like this:
  
At this point, could you have an switch statement that checked the 
extension that you sent in the url and make it run the corresponding 
imagepng(), imagejpg(), and imagegif() ?

  imagepng($image);
  $image_raw = ob_get_contents();
  ob_end_clean();
  $image_length = strlen($image_raw);

  //Send suitable headers:
  

and then here send the corresponding header too.

Just a thought about making it even more universal.

jl

  header("Content-type: image/png");
  header("Content-length: $image_length");

  //Send the data:
  echo $image_raw;
?>

You can now just pass the word 'dissatisfaction' around, and use PHP
or JavaScript to output individual images.

I'll do it in PHP:

";
  }
?>

I haven't run this code to test it, so there might be a typo, but it's
going to be MUCH easier to maintain than what you've got going...

  


--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] array_search function bugged?

2006-03-21 Thread Richard Lynch
On Mon, March 20, 2006 8:47 pm, je killen wrote:
> I am using simple for loops. If I create and populate an array and
> test
> it with a print statement
> in a for loop, it prints out all the current values. It I again call
> it
> to print in a for loop in subsequent code
> it has exhibited a degraded state.

Show us source code that does this.

You've made a mistake in your code.

Most likely you've altered the array without realizing it, or your
variables in your for() loops are mixed up.

Easy to do as a beginner.

> However, if your familiar with
> FreeBSD, it has a ports and packages
> mechanism for installing software. I had difficulty with it when
> installing Apache so I bypassed it and
> installed Apache from source just according to the install

There is simply no way this is your cause.

-- 
Like Music?
http://l-i-e.com/artists.htm

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] array_search function bugged?

2006-03-21 Thread Richard Lynch
On Mon, March 20, 2006 8:35 pm, je killen wrote:

>> I really don't understand, though, why you are doing things the way
>> you describe...
> I only want one image file for each distinct letter, no repeats
> because
> I can't put two or more files with the same name
> in the same dir. The images need to be drug around DHTML style and
> reassembled into the correct word. Javascript
> needs to be able to establish when the chars are in the correct order
> so I need to have php feed it a formula to refer to.

Okay, now we are getting somewhere!

The easiest way to meet the unique filename requirement is to name
each file after its letter:
a.png
b.png
c.png

Of course, they only need to APPEAR that way to the browser and
Javascript.

In reality, you may not actually have a file named "a.png" at all.

For example, if your HTML is like this:


And you have a PHP script drawchar.php like this:


You can now just pass the word 'dissatisfaction' around, and use PHP
or JavaScript to output individual images.

I'll do it in PHP:

";
  }
?>

I haven't run this code to test it, so there might be a typo, but it's
going to be MUCH easier to maintain than what you've got going...

-- 
Like Music?
http://l-i-e.com/artists.htm

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] array_search function bugged?

2006-03-20 Thread Richard Lynch
On Sun, March 19, 2006 4:46 pm, je killen wrote:
> The following code does not produce the correct results (for my
> purposes):
>
> function code($str, $match, $formula)
>   {
> for($i = 0; $i < count($str); $i++)
>   {
> $formula[$i] = array_search($str[$i], $str);// <<==|| no bueno
>//print $formula[$i]; not right
>   if($formula[$i] < $i)
>{$str[$i] = '';}
>}
>   //print''; //- etc (lots more code)--->
>
> The code takes a string of ascii letters forming a word and is
> supposed
> to create a list of indexes
> in the proper sequence for reconstructing the word. The object of the
> code in context is to take
> any word and create an array of unique letters with no repeats so that
> gd can be used to produce
> images of each letter.

Almost for sure, this function could be used instead:
http://www.php.net/manual/en/function.count-chars.php

You'll be throwing away the information about how many of each letter.

I really don't understand, though, why you are doing things the way
you describe...

> The letters are then reassembled in the browser
> to form the word. The
> $formula above is supposed to tell the browser in what sequence to
> display each letter, including
> using the same letter image in repeat locations. For this it fails
> miserably.
>
> These are the results of test steps:
>
> dissatisfaction (the test word)
> Processed input string:   dissatisfaction (code output at key step to
> verify)
> at creation of formula:012245128410511314 (formula sampled at ' no
> bueno' line in code)
> from browser source array:012245128410511314 (formula pasted from
> browser javascript source)
>
> The letter images spell out:
> disstfisntidfiiait  which is in accordance with the formula as far as
> I
> can tell.

How do you distinguish in:
012245128410511314
between one-digit and two-digit integers?

dissatisfaction
  1
012345678901234

0->d
1->i
2->s
3->NULL (2 is 's')
4->a
5->t
6->NULL (1 is 'i')
7->NULL (2 is 's')
8->f
9->NULL (4 is 'a')
10->c
11->NULL (5 is 't')
12->NULL (1 is 'i')
13->o
14->n

Going from just the numbers, now I get:
012245128410511314
dissatisfaidtiiNULLia

So, given the input 012245128410511314, you are never going to get the
original word back from just that...

I don't think your formula makes sense in the first place...

If you just want to represent each character as a GD image, and not
duplicate, so the browser can cache images, you can just do:



You can then use $_SYSTEM['PATH_INFO'] (or whatever it's called) to
get 'char=?' and do like:
list($key, $value) = explode('=', $_SYSTEM['PATHINFO']);
$$key = $value;

> There is one other weakness I've discovered, if arrays are created in
> one code sequence and are called
> to print in loops more than once or processed in different code
> sections. The second time the same array
> is called it has significantly degraded, loosing values from index
> positions.

If you are using list/each or something like that, there is an
"internal pointer" in the array which you are mucking with, and most
likely confusing yourself with.

Try using 'foreach' which does not use that internal pointer.

> the seems to be no bug report accommodation in the php.net site so I'm
> posting here.

Posting here FIRST is good, especially since you have not encountered
an actual bug yet :-)

After that, though, there *IS* a place to search for, and ultimately
report bugs:
http://bugs.php.net

But please don't clog that with reports before checking them out
thoroughly, so you really ARE reporting bugs in PHP.

-- 
Like Music?
http://l-i-e.com/artists.htm

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] array_search function bugged?

2006-03-19 Thread Richard Davey

On 19 Mar 2006, at 22:46, je killen wrote:

The code takes a string of ascii letters forming a word and is  
supposed to create a list of indexes
in the proper sequence for reconstructing the word. The object of  
the code in context is to take


Ignoring your code (and the supposed 'bug') for a second - why don't  
you just use the count_chars() function? After all, it is designed to  
do almost exactly what you are trying to recreate here.


http://uk2.php.net/manual/en/function.count-chars.php

the seems to be no bug report accommodation in the php.net site so  
I'm posting here.


I'm not sure you looked very hard. There is a link that says  
'reporting bugs' in the top nav, which takes you here: http:// 
bugs.php.net/


Cheers,

Rich
--
http://www.corephp.co.uk
Zend Certified Engineer
PHP Development Services

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP] array_search function bugged?

2006-03-19 Thread je killen
The following code does not produce the correct results (for my 
purposes):


function code($str, $match, $formula)
 {
for($i = 0; $i < count($str); $i++)
 {
$formula[$i] = array_search($str[$i], $str);// <<==|| no bueno
  //print $formula[$i]; not right
 if($formula[$i] < $i)
  {$str[$i] = '';}
  }
 //print''; //- etc (lots more code)--->

The code takes a string of ascii letters forming a word and is supposed 
to create a list of indexes
in the proper sequence for reconstructing the word. The object of the 
code in context is to take
any word and create an array of unique letters with no repeats so that 
gd can be used to produce
images of each letter. The letters are then reassembled in the browser 
to form the word. The
$formula above is supposed to tell the browser in what sequence to 
display each letter, including
using the same letter image in repeat locations. For this it fails 
miserably.


These are the results of test steps:

dissatisfaction (the test word)
Processed input string:   dissatisfaction (code output at key step to 
verify)
at creation of formula:    012245128410511314 (formula sampled at ' no 
bueno' line in code)
from browser source array:    012245128410511314 (formula pasted from 
browser javascript source)


The letter images spell out:
disstfisntidfiiait  which is in accordance with the formula as far as I 
can tell.


Is this a bug or am I misusing this function?
server platform: FreeBSD v6.0
Apache version: 1.3.34
php version: 5.1.2

There is one other weakness I've discovered, if arrays are created in 
one code sequence and are called
to print in loops more than once or processed in different code 
sections. The second time the same array
is called it has significantly degraded, loosing values from index 
positions.


the seems to be no bug report accommodation in the php.net site so I'm 
posting here.

Thanks in advance,
JK

Re: [PHP] array_search and multi-dimensional arrays

2006-03-14 Thread List Manager

M. Sokolewicz wrote:

List Manager wrote:

jonathan wrote:



I'd like to return the first key value in the following array such 
that England would return 1 rather than 3 which is the second key 
value. Any help would be greatly appreciated.


$c[1][]="Vietnam";
$c[1][]="China";
$c[1][]="Thailand";
$c[1][]="England";
$c[2][]="USA";
$c[2][]="Japan";


print_r($c);
// Array ( [1] => Array ( [0] => Vietnam [1] => China [2] => 
Thailand [3] => England ) [2] => Array ( [0] => USA [1] => Japan ) )


foreach($c as $row)
{
echo array_search("England",$row);
}
// prints 3

-jonathan

--PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


give this a shot

 $v) {
   if ( is_array($v) ) {
 $val = findIndexof($v, $str);
 if( $val !== false ) {
   return $val;
 }
   } elseif ( strtolower($v) == strtolower($str) ) {
 return $k;
   }
 }
 return FALSE;
}

$c[1][] = "Vietnam";
$c[1][] = "China";
$c[1][] = "Thailand";
$c[1][] = "England";
$c[2][] = "USA";
$c[2][] = "Japan";

echo findIndexof($c, 'Vietnam');
?>

You should be able to search arrays of any depth

Hope this woks for you.

Jim


Or, a lot easier:
foreach($c as $key=>$row) {
 if(false !== array_search("England",$row)) {
echo $key;
  }
}

Well, this is fine, if you know that the array will always be two 
levels, not one, not three, but two.


If this is the case, then fine.

But, don't you think it would be nice to have a function that will work 
no matter what it is passed?


Jim

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] array_search and multi-dimensional arrays

2006-03-14 Thread M. Sokolewicz

List Manager wrote:

jonathan wrote:



I'd like to return the first key value in the following array such 
that England would return 1 rather than 3 which is the second key 
value. Any help would be greatly appreciated.


$c[1][]="Vietnam";
$c[1][]="China";
$c[1][]="Thailand";
$c[1][]="England";
$c[2][]="USA";
$c[2][]="Japan";


print_r($c);
// Array ( [1] => Array ( [0] => Vietnam [1] => China [2] => Thailand 
[3] => England ) [2] => Array ( [0] => USA [1] => Japan ) )


foreach($c as $row)
{
echo array_search("England",$row);
}
// prints 3

-jonathan

--PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


give this a shot

 $v) {
   if ( is_array($v) ) {
 $val = findIndexof($v, $str);
 if( $val !== false ) {
   return $val;
 }
   } elseif ( strtolower($v) == strtolower($str) ) {
 return $k;
   }
 }
 return FALSE;
}

$c[1][] = "Vietnam";
$c[1][] = "China";
$c[1][] = "Thailand";
$c[1][] = "England";
$c[2][] = "USA";
$c[2][] = "Japan";

echo findIndexof($c, 'Vietnam');
?>

You should be able to search arrays of any depth

Hope this woks for you.

Jim


Or, a lot easier:
foreach($c as $key=>$row) {
 if(false !== array_search("England",$row)) {
echo $key;
  }
}

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] array_search and multi-dimensional arrays

2006-03-14 Thread List Manager

jonathan wrote:


I'd like to return the first key value in the following array such 
that England would return 1 rather than 3 which is the second key 
value. Any help would be greatly appreciated.


$c[1][]="Vietnam";
$c[1][]="China";
$c[1][]="Thailand";
$c[1][]="England";
$c[2][]="USA";
$c[2][]="Japan";


print_r($c);
// Array ( [1] => Array ( [0] => Vietnam [1] => China [2] => Thailand 
[3] => England ) [2] => Array ( [0] => USA [1] => Japan ) )


foreach($c as $row)
{
echo array_search("England",$row);
}
// prints 3

-jonathan

--PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


give this a shot

 $v) {
   if ( is_array($v) ) {
 $val = findIndexof($v, $str);
 if( $val !== false ) {
   return $val;
 }
   } elseif ( strtolower($v) == strtolower($str) ) {
 return $k;
   }
 }
 return FALSE;
}

$c[1][] = "Vietnam";
$c[1][] = "China";
$c[1][] = "Thailand";
$c[1][] = "England";
$c[2][] = "USA";
$c[2][] = "Japan";

echo findIndexof($c, 'Vietnam');
?>

You should be able to search arrays of any depth

Hope this woks for you.

Jim

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] array_search and multi-dimensional arrays

2006-03-13 Thread Philip Thompson

On Mar 13, 2006, at 5:54 PM, jonathan wrote:

I'd like to return the first key value in the following array such  
that England would return 1 rather than 3 which is the second key  
value. Any help would be greatly appreciated.


$c[1][]="Vietnam";
$c[1][]="China";
$c[1][]="Thailand";
$c[1][]="England";
$c[2][]="USA";
$c[2][]="Japan";


print_r($c);
// Array ( [1] => Array ( [0] => Vietnam [1] => China [2] =>  
Thailand [3] => England ) [2] => Array ( [0] => USA [1] => Japan ) )


foreach($c as $row)
{
echo array_search("England",$row);
}
// prints 3

-jonathan



Multi-dimensional arrays can be a bit tricky. I've wanted to do  
something similar to what you're trying to accomplish. I have not  
tested this, but I think it works:


 $value) {
foreach ($value as $j => $country) {
if ($country == "England")
echo $i;
}
}
?>

Hope that helps.

~Philip

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] array_search and multi-dimensional arrays

2006-03-13 Thread jonathan

looks like this works. Is there any problem with it that people can see?

$c[1][]="Vietnam";
$c[1][]="China";
$c[1][]="Thailand";
$c[1][]="England";
$c[2][]="USA";
$c[2][]="Japan";

print_r($c);

foreach($c as $key=>$value)
{
   if(array_search("England",$value))
   {
   echo $key;   
}
}

thanks,

jonathan

On Mar 13, 2006, at 3:54 PM, jonathan wrote:



I'd like to return the first key value in the following array such  
that England would return 1 rather than 3 which is the second key  
value. Any help would be greatly appreciated.


$c[1][]="Vietnam";
$c[1][]="China";
$c[1][]="Thailand";
$c[1][]="England";
$c[2][]="USA";
$c[2][]="Japan";


print_r($c);
// Array ( [1] => Array ( [0] => Vietnam [1] => China [2] =>  
Thailand [3] => England ) [2] => Array ( [0] => USA [1] => Japan ) )


foreach($c as $row)
{
echo array_search("England",$row);
}
// prints 3

-jonathan

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php





--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP] array_search() with preg_match?

2005-06-23 Thread René Fournier

I need to search an array for a string, with a twist. E.g.:

$array = array(0 => 'this sky is blue', 1 => 'pencils are orange', 2 => 
'I like green apples', 3 => 'strawberries are red');


$key = array_search('green', $array);

With the above code, nothing will be returned, but I would like it to 
return 2 for the key containing "green". Any suggestions?


...René

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] array_search does not find the first element

2004-03-31 Thread John Holmes
Merlin wrote:

I am trying to find values inside an array. This array always starts 
with 0.
unfortunatelly array_search start searching with the array element 1.
So the first element is always overlooked.
Please read the text inside the big "Warning" box on the following page:

http://us2.php.net/array_search

Thanks.

---John Holmes...

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


Re: [PHP] array_search does not find the first element

2004-03-31 Thread Tom Rogers
Hi,

Wednesday, March 31, 2004, 10:20:06 PM, you wrote:
M> Hi there,

M> I am trying to find values inside an array. This array always starts with 0.
M> unfortunatelly array_search start searching with the array element 1.
M> So the first element is always overlooked.

M> How could I "shift" this array to start with 1, or make array-search start with 0?
M> The array comes out of an xml webservice, so I can not rally modify the results.

M> array_search($check_date, $results)

M> Thanx for any help on that.

M> Merlin


If you are checking the return value you will need to use === as 0
will fail in == tests. As far as I know array_search() starts at the 0
key.

-- 
regards,
Tom

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP] array_search does not find the first element

2004-03-31 Thread Merlin
Hi there,

I am trying to find values inside an array. This array always starts with 0.
unfortunatelly array_search start searching with the array element 1.
So the first element is always overlooked.
How could I "shift" this array to start with 1, or make array-search start with 0?
The array comes out of an xml webservice, so I can not rally modify the results.
array_search($check_date, $results)

Thanx for any help on that.

Merlin

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


Re: [PHP] array_search

2003-11-20 Thread CPT John W. Holmes
From: "Jake McHenry" <[EMAIL PROTECTED]>

> I've been using array_search in my scripts for a while now, but have
> come across a problem. My new page has a textarea field. If I enter
> any new lines in the textarea, array_search returns false.
[snip]
> Kinda stuck here.. Not sure what I should try next...

How about showing us how you're using array_search, since it has nothing to
do with textareas or line breaks except in the context you're using it in...

---John Holmes...

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



RE: [PHP] array_search

2003-11-20 Thread Kelly Hallman
On Thu, 20 Nov 2003, Jay Blanchard wrote:
> $foo = $_POST['textarea'];
> $newFoo = str_replace("\n", " ", $foo);
> $arrayFoo = explode(" ", $newFoo);

In the code above any spaces on the lines will also be delimiters...
I missed that part of the requirement...?

Maybe I'm not understanding the problem, but why not just use something 
like $myarray = preg_split('/[\r\n]+/', $textarea) ?

-- 
Kelly Hallman
//Ultrafancy/

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



RE: [PHP] array_search

2003-11-20 Thread Jake McHenry
> -Original Message-
> From: Jake McHenry [mailto:[EMAIL PROTECTED] 
> Sent: Thursday, November 20, 2003 2:51 PM
> To: 'Jay Blanchard'
> Cc: [EMAIL PROTECTED]
> Subject: RE: [PHP] array_search
> 
> 
> > -Original Message-
> > From: Jay Blanchard [mailto:[EMAIL PROTECTED]
> > Sent: Thursday, November 20, 2003 2:48 PM
> > To: Jake McHenry; [EMAIL PROTECTED]
> > Subject: RE: [PHP] array_search
> > 
> > 
> > [snip]
> > I've been using array_search in my scripts for a while now,
> > but have come across a problem. My new page has a textarea 
> > field. If I enter any new lines in the textarea, array_search 
> > returns false.
> > 
> > I have tried using html_encode, addslashes, serialize and
> > nothing yet has worked. My only other options that I can 
> > think of would be to limit the textarea to one line (change 
> > it to a regular text input
> > field) or do a regex on the posted data and replace the line 
> > returns with something else (which I have tried without 
> > success). [/snip]
> > 
> > Just a SWAG, but you are exploding the textarea into an array
> > using spaces for the explosion? If so use a replace function 
> > to replace the \n characters, then do your thing...following 
> > is untested...
> > 
> > $foo = $_POST['textarea'];
> > $newFoo = str_replace("\n", " ", $foo);
> > $arrayFoo = explode(" ", $newFoo);
> > 
> 
> 
> No, I wasn't doing this. I will try it though.
> 
> 
> 
> Thanks,
> 
> Jake McHenry
> Nittany Travel MIS Coordinator
> http://www.nittanytravel.com
> 
> -- 
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
> 

I had to change it from \n to \r\n, but this really has no usefullness
over just changing the textarea into a regular text input field.

Just to keep things simple, I think this is what I'm going to do.

Thanks for the info



Thanks,

Jake McHenry
Nittany Travel MIS Coordinator
http://www.nittanytravel.com

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



RE: [PHP] array_search

2003-11-20 Thread Jake McHenry
> -Original Message-
> From: Jay Blanchard [mailto:[EMAIL PROTECTED] 
> Sent: Thursday, November 20, 2003 2:48 PM
> To: Jake McHenry; [EMAIL PROTECTED]
> Subject: RE: [PHP] array_search
> 
> 
> [snip]
> I've been using array_search in my scripts for a while now, 
> but have come across a problem. My new page has a textarea 
> field. If I enter any new lines in the textarea, array_search 
> returns false.
> 
> I have tried using html_encode, addslashes, serialize and 
> nothing yet has worked. My only other options that I can 
> think of would be to limit the textarea to one line (change 
> it to a regular text input
> field) or do a regex on the posted data and replace the line 
> returns with something else (which I have tried without 
> success). [/snip]
> 
> Just a SWAG, but you are exploding the textarea into an array 
> using spaces for the explosion? If so use a replace function 
> to replace the \n characters, then do your thing...following 
> is untested...
> 
> $foo = $_POST['textarea'];
> $newFoo = str_replace("\n", " ", $foo);
> $arrayFoo = explode(" ", $newFoo);
> 


No, I wasn't doing this. I will try it though.



Thanks,

Jake McHenry
Nittany Travel MIS Coordinator
http://www.nittanytravel.com

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



RE: [PHP] array_search

2003-11-20 Thread Jay Blanchard
[snip]
I've been using array_search in my scripts for a while now, but have
come across a problem. My new page has a textarea field. If I enter
any new lines in the textarea, array_search returns false.

I have tried using html_encode, addslashes, serialize and nothing yet
has worked. My only other options that I can think of would be to
limit the textarea to one line (change it to a regular text input
field) or do a regex on the posted data and replace the line returns
with something else (which I have tried without success).
[/snip]

Just a SWAG, but you are exploding the textarea into an array using
spaces for the explosion? If so use a replace function to replace the \n
characters, then do your thing...following is untested...

$foo = $_POST['textarea'];
$newFoo = str_replace("\n", " ", $foo);
$arrayFoo = explode(" ", $newFoo);

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP] array_search

2003-11-20 Thread Jake McHenry
I've been using array_search in my scripts for a while now, but have
come across a problem. My new page has a textarea field. If I enter
any new lines in the textarea, array_search returns false.

I have tried using html_encode, addslashes, serialize and nothing yet
has worked. My only other options that I can think of would be to
limit the textarea to one line (change it to a regular text input
field) or do a regex on the posted data and replace the line returns
with something else (which I have tried without success).


Kinda stuck here.. Not sure what I should try next... 


Thanks,

Jake McHenry
Nittany Travel MIS Coordinator
http://www.nittanytravel.com

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Array_search wildcard

2003-03-21 Thread Liam Gibbs
> $found=array();
> foreach($array as $key => $value) {
> if(ereg('RE.+',$value)) {  // optionaly use eregi for case 
> insensitiveness
>$found[$key]=$value;
> }
> }

Thanks, Marek. With some minor adjustments, this worked out fine!


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Array_search wildcard

2003-03-21 Thread Marek Kilimajer
$found=array();
foreach($array as $key => $value) {
   if(ereg('RE.+',$value)) {  // optionaly use eregi for case 
insensitiveness
  $found[$key]=$value;
   }
}

Liam Gibbs wrote:

Is there such a thing as an array_search wildcard? Say I want to find anything beginning with RE and having zero or more characters following it, how would I do that?

 



--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[PHP] Array_search wildcard

2003-03-21 Thread Liam Gibbs
Is there such a thing as an array_search wildcard? Say I want to find anything 
beginning with RE and having zero or more characters following it, how would I do that?


Re: [PHP] array_search() problem

2002-09-12 Thread Bas Jobsen

> What I was  looking for was finding out what was the index of thet
> value, lets say I have a array with some values like (23, 56, 45, 47)
> and i don't know where the walue I'm looking for is indexed in the array
> and I want to find out what the indexnumber is, how would that be
> possable

$value)
if($value==$needle)
return $key;
return -1;
}

$array=array(23, 56, 45, 47);

echo array_index($array,45);
echo array_index($array,48);
if(array_index($array,48)<0)echo 'not found';
else echo 'found';
?>


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php




Re: [PHP] array_search() problem

2002-09-12 Thread Bas Jobsen


> Hi I'm runing a PHP Version 4.0.4pl1 on Solaris 8 X86 on apache, and I'm
> trying to search an array

>From the manual: array_search (PHP 4 >= 4.0.5)

send earlier to this list:

Re: [PHP] Array - Match
From: Bas Jobsen <[EMAIL PROTECTED]>
To: "N. Pari Purna Chand" <[EMAIL PROTECTED]>, 
<[EMAIL PROTECTED]>


= 4.0.5 && < 4.2.0
if(is_null(($b=array_search($sub,$subs  echo 'not found!';
else echo 'found! In $sub['.$b.']';
//or for  PHP 4 >= 4.2.0
if(($b=array_search($sub,$subs)))  echo 'found! In $sub['.$b.']';
else echo 'not found!';
?>

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php




[PHP] array_search() problem

2002-09-12 Thread David Orn Johannsson


Hi I'm runing a PHP Version 4.0.4pl1 on Solaris 8 X86 on apache, and I'm
trying to search an array




while(list($findId) = mysql_fetch_row($resultNextLast)){
$NextLast[] = $findId;
}
$currArrayPos   = array_search($ImgId, $NextLast);


and this code results this error:
Fatal error: Call to undefined function: array_search()


Any body have any idea what could be wrong?


Thanks David

 



Re: [PHP] array_search in 2-d arrays

2002-05-14 Thread Pushkar Pradhan

Regarding my recent post, I am sorry $key is not undefined it is just "0"
or "FALSE".
> I've a 2 D array and would like to search for vals. in the first dimension
> only i.e.
> myArray[0][0]
> myArray[1][0]
> myArray[2][0]
> myArray[3][0]
> .
> .
> .
> and not in the elements myArray[0][1]
>
> CODE:
> for($l = 0; $l < count($layer); $l++) {
>$key = array_search($layer[$l], $layerDes);   // $layerDes is 2-D
>$layer[$l] = $layerNames[$key];
> }
> My $key is undefined after execution, is it because the elements are in
> $layerDes[i][0]?
> Using $key === also didn't help? Any ideas, thanks.
>
> -Pushkar S. Pradhan
>
>
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>

-Pushkar S. Pradhan


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php




[PHP] array_search in 2-d arrays

2002-05-14 Thread Pushkar Pradhan

I've a 2 D array and would like to search for vals. in the first dimension
only i.e.
myArray[0][0]
myArray[1][0]
myArray[2][0]
myArray[3][0]
.
.
.
and not in the elements myArray[0][1]

CODE:
for($l = 0; $l < count($layer); $l++) {
   $key = array_search($layer[$l], $layerDes);   // $layerDes is 2-D
   $layer[$l] = $layerNames[$key];
}
My $key is undefined after execution, is it because the elements are in
$layerDes[i][0]?
Using $key === also didn't help? Any ideas, thanks.

-Pushkar S. Pradhan



-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php




Re: [PHP] array_search

2002-04-25 Thread Kevin Stone

Which brings us back to my original argument that the function isn't being
used properly.  I was just wrong about how it was being used improperly.
array_search() returns NULL when there is no match.

$result = array_search($findme[$i], $fruit);
if (!is_null($result))
{
print "Key ($result) was found for value $findme[$i]";
}
else
{
print "No match for $findme[$i]";
}

So there we go.  There is no bug we just have to learn to read that's all.
*LOL*   ;-)

-Kevin

- Original Message -
From: "andy" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Thursday, April 25, 2002 12:16 PM
Subject: [PHP] array_search


> thats why you do not have a key which is not found. Try to replace $findme
> withthis: $findme = array('banana', 'cranberry', 'not in there');
>
> Will return: Key () was found for value not in there
>
> So there is a bug.. but well hidden :-(
>
>
> Von: "Kevin Stone" <[EMAIL PROTECTED]>
> An: "PHP-general" <[EMAIL PROTECTED]>
> Betreff: Re: [PHP] how to make array_search start from 0?
> Datum: Donnerstag, 25. April 2002 20:07
>
> Well this seems to work for me just fine.
>
>  $fruit = array('apple','banana','cranberry');
> $findme = array('banana', 'cranberry', 'apple');
>
> for ($i=0; $i {
>  $result = array_search($findme[$i], $fruit);
>  if ($result !== false)
>  {
>   print "Key ($result) was found for value $findme[$i]";
>  }
>  else
>  {
>   print "Sorry, could not find $findme[$i].";
>  }
> }
> ?>
>
> This code outputs:
>
> Key (1) was found for value banana
> Key (2) was found for value cranberry
> Key (0) was found for value apple
>
> -Kevin
>
> - Original Message -
> From: "andy" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Thursday, April 25, 2002 11:39 AM
> Subject: Re: [PHP] how to make array_search start from 0?
>
>
> > I can see what u are saying. Its all about the ===
> >
> > Anyhow.. this thing does not work in a loop. I guess this is my prob.
> There
> > might be something wrong with the boolean. I tryed it with different
> > settings, but still wrong:
> >
> > Here is what I mean:
> >
> >   $fruit = array('apple','banana','cranberry');
> >   $findme = array('apple', 'notlisted');
> >
> >   foreach($findme AS $value){
> >if (($key = array_search($value, $fruit)) !== false) {
> >print "Key ($key) was found from value $value";
> >} else {
> >print "Sorry, $value was not found in array \$fruit";
> >}
> >   }
> >
> > Replys:
> > Key (0) was found from value apple
> > Key () was found from value notlisted
> >
> > So there must be still something wron in th stmt.
> >
> > Thanx for your help,
> >
> > Andy
> >
> > "Philip Olson" <[EMAIL PROTECTED]> schrieb im Newsbeitrag
> > Pine.BSF.4.10.10204251646060.3971-10@localhost">news:Pine.BSF.4.10.10204251646060.3971-10@localhost...
> > > If the key is 0, array_search will return 0, it does not
> > > start at 1.
> > >
> > >   $arr = array('apple','banana','cranberry');
> > >   $key = array_search('apple', $arr);
> > >
> > >   print $key; // 0
> > >
> > > If 'apple' was not found, $key would then equal
> > > to boolean false.  Be sure to use "=== false"
> > > to check failure because 0 == false.  For example:
> > >
> > >   $fruit = array('apple','banana','cranberry');
> > >   $findme = 'apple';
> > >
> > >   if (($key = array_search($findme, $fruit)) !== false) {
> > >   print "Key ($key) was found from value $findme";
> > >   } else {
> > >   print "Sorry, $findme was not found in array \$fruit";
> > >   }
> > >
> > > Again, remember, 0 == false.  == !=, === !==.  So, 0 !== false.
> > > Wow that sounds confusing. :) Also consider the sexy array_keys()
> > > function.
> > >
> > > Regards,
> > > Philip Olson
> > >
> > > p.s. http://uk.php.net/manual/en/language.operators.comparison.php
> > > p.s.s. also take into account extra whitespace (trim), and potential
> > >issues with case sensitivity (strtolower).
> > >
> > >
> 

[PHP] array_search

2002-04-25 Thread andy

thats why you do not have a key which is not found. Try to replace $findme
withthis: $findme = array('banana', 'cranberry', 'not in there');

Will return: Key () was found for value not in there

So there is a bug.. but well hidden :-(


Von: "Kevin Stone" <[EMAIL PROTECTED]>
An: "PHP-general" <[EMAIL PROTECTED]>
Betreff: Re: [PHP] how to make array_search start from 0?
Datum: Donnerstag, 25. April 2002 20:07

Well this seems to work for me just fine.

";
 }
 else
 {
  print "Sorry, could not find $findme[$i].";
 }
}
?>

This code outputs:

Key (1) was found for value banana
Key (2) was found for value cranberry
Key (0) was found for value apple

-Kevin

- Original Message -
From: "andy" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Thursday, April 25, 2002 11:39 AM
Subject: Re: [PHP] how to make array_search start from 0?


> I can see what u are saying. Its all about the ===
>
> Anyhow.. this thing does not work in a loop. I guess this is my prob.
There
> might be something wrong with the boolean. I tryed it with different
> settings, but still wrong:
>
> Here is what I mean:
>
>   $fruit = array('apple','banana','cranberry');
>   $findme = array('apple', 'notlisted');
>
>   foreach($findme AS $value){
>if (($key = array_search($value, $fruit)) !== false) {
>print "Key ($key) was found from value $value";
>} else {
>print "Sorry, $value was not found in array \$fruit";
>}
>   }
>
> Replys:
> Key (0) was found from value apple
> Key () was found from value notlisted
>
> So there must be still something wron in th stmt.
>
> Thanx for your help,
>
> Andy
>
> "Philip Olson" <[EMAIL PROTECTED]> schrieb im Newsbeitrag
> Pine.BSF.4.10.10204251646060.3971-10@localhost">news:Pine.BSF.4.10.10204251646060.3971-10@localhost...
> > If the key is 0, array_search will return 0, it does not
> > start at 1.
> >
> >   $arr = array('apple','banana','cranberry');
> >   $key = array_search('apple', $arr);
> >
> >   print $key; // 0
> >
> > If 'apple' was not found, $key would then equal
> > to boolean false.  Be sure to use "=== false"
> > to check failure because 0 == false.  For example:
> >
> >   $fruit = array('apple','banana','cranberry');
> >   $findme = 'apple';
> >
> >   if (($key = array_search($findme, $fruit)) !== false) {
> >   print "Key ($key) was found from value $findme";
> >   } else {
> >   print "Sorry, $findme was not found in array \$fruit";
> >   }
> >
> > Again, remember, 0 == false.  == !=, === !==.  So, 0 !== false.
> > Wow that sounds confusing. :) Also consider the sexy array_keys()
> > function.
> >
> > Regards,
> > Philip Olson
> >
> > p.s. http://uk.php.net/manual/en/language.operators.comparison.php
> > p.s.s. also take into account extra whitespace (trim), and potential
> >issues with case sensitivity (strtolower).
> >
> >
> > On Thu, 25 Apr 2002, andy wrote:
> >
> > > Hi there,
> > >
> > > I am passing an array through the URL with a ',' inbetween:
> > > var=php,mysql,super
> > > Parsing is done with: explode (',',$var). This gives me an array
> starting
> > > with 0
> > >
> > > Later on I have to search for lets say php with array_search.
> > >
> > > Unfortunatelly array_search requires an array starting with 1. So php
is
> not
> > > found.
> > >
> > > Does anybody know a workaround for this?
> > >
> > > Thanx,
> > >
> > > Andy
> > >
> > >
> > >
> > > --
> > > PHP General Mailing List (http://www.php.net/)
> > > To unsubscribe, visit: http://www.php.net/unsub.php
> > >
> >
> >
>
>
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>





-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php




Re: [PHP] array_search

2002-02-26 Thread Edward van Bilderbeek - Bean IT

array_search returns the key-value of the searched value that is found... in
the first case... the returned key is 0 because it's the first
element... however... 0 is also the same as FALSE...

you should use === (three ='s) ... it's used to compare both value and
type... (and 0 is not the same type as FALSE)...

Greets,

Edward


- Original Message -
From: "Roger Keays" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Tuesday, February 26, 2002 10:29 AM
Subject: [PHP] array_search


> Hi,
>
> Can anybody explain why the output of this script is
>
> not found
> Found!
>
> Here is the script...
>
> $legalfields = array("reasonForRepair");
> if (array_search("reasonForRepair", $legalfields) == TRUE) {
>  echo "Found!";
> } else {
>  echo "not found";
> }
> $legalfields = array("foo", "reasonForRepair");
> if (array_search("reasonForRepair", $legalfields) ==  TRUE) {
>  echo "Found!";
> } else {
>  echo "not found";
> }
> ?>
>
> Thanks in advance,
>
> Roger
>
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>



-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php




Re: [PHP] array_search

2002-02-26 Thread Lars Torben Wilson

On Tue, 2002-02-26 at 01:29, Roger Keays wrote:
> Hi,
> 
> Can anybody explain why the output of this script is
> 
> not found
> Found!

Yup. array_search() returns the key of the found object, as noted in the
docs (http://www.php.net/array_search). Since the first test has the
searched-for field at index 0, array_search() will return an int. You're
doing a loose (==) test against TRUE (a boolean, not an int), so you 
get 'not found.'. In the second example, the searched-for item is at
index 1, which does loosely evaluate to TRUE.

I think the function you're looking for is in_array():

  http://www.php.net/in_array


Cheers,

Torben

> Here is the script...
> 
> $legalfields = array("reasonForRepair");
> if (array_search("reasonForRepair", $legalfields) == TRUE) {
>  echo "Found!";
> } else {
>  echo "not found";
> }
> $legalfields = array("foo", "reasonForRepair");
> if (array_search("reasonForRepair", $legalfields) ==  TRUE) {
>  echo "Found!";
> } else {
>  echo "not found";
> }
> ?>
> 
> Thanks in advance,
> 
> Roger
> 
> 
> -- 
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
> 
> 
-- 
 Torben Wilson <[EMAIL PROTECTED]>
 http://www.thebuttlesschaps.com
 http://www.hybrid17.com
 http://www.inflatableeye.com
 +1.604.709.0506


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php




[PHP] array_search

2002-02-26 Thread Roger Keays

Hi,

Can anybody explain why the output of this script is

not found
Found!

Here is the script...

$legalfields = array("reasonForRepair");
if (array_search("reasonForRepair", $legalfields) == TRUE) {
 echo "Found!";
} else {
 echo "not found";
}
$legalfields = array("foo", "reasonForRepair");
if (array_search("reasonForRepair", $legalfields) ==  TRUE) {
 echo "Found!";
} else {
 echo "not found";
}
?>

Thanks in advance,

Roger


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php




[PHP] array_search()

2001-10-27 Thread Ashley M. Kirchner


  I'm trying to figure out how am I supposed to write this snippet
properly:

  if (($index = array_search($search, array_keys($pages))) !== false) {
echo "index: $index\n";
  } else {
echo "Not found\n";
  }


 When I search for something that I know exists, it returns the $index
just fine.  However, when I search for something that does not exist, it
never tells me 'Not found', instead it just displays a blank index (it
looks like $index = "", not false).  Should I be checking it against
'false', or against "" ?

Using PHP 4.0.7-dev.

--
W | I haven't lost my mind; it's backed up on tape somewhere.
  +
  Ashley M. Kirchner    .   303.442.6410 x130
  IT Director / SysAdmin / WebSmith . 800.441.3873 x130
  Photo Craft Laboratories, Inc.. 3550 Arapahoe Ave. #6
  http://www.pcraft.com . .  ..   Boulder, CO 80303, U.S.A.

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




[PHP] array_search()

2001-10-26 Thread Ashley M. Kirchner


  I'm trying to figure out how am I supposed to write this snippet
properly:

  if (($index = array_search($search, array_keys($pages))) !== false) {
echo "index: $index\n";
  } else {
echo "Not found\n";
  }


 When I search for something that I know exists, it returns the $index
just fine.  However, when I search for something that does not exist, it
never tells me 'Not found', instead it just displays a blank index (it
looks like $index = "", not false).  Should I be checking it against
'false', or against "" ?

Using PHP 4.0.7-dev.

--
W | I haven't lost my mind; it's backed up on tape somewhere.
  +
  Ashley M. Kirchner    .   303.442.6410 x130
  IT Director / SysAdmin / WebSmith . 800.441.3873 x130
  Photo Craft Laboratories, Inc.. 3550 Arapahoe Ave. #6
  http://www.pcraft.com . .  ..   Boulder, CO 80303, U.S.A.



-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




[PHP] array_search in 2-D array

2001-09-27 Thread Naintara Jain

I have a 2D array wherein each row is an associative array (which has keys that are 
column names of
a certain MySQL table)
the array name is "sess_arrayPhotos".
I need to match PhotoId (2nd dimension key) for every row (numeric index) of the 2D 
array.

I tried--
$keyPos=array_search($searchedforId,$sess_arrayPhotos);
--but that didn't work.

Right now, I am achieving it by:

 $sess_arrind=0;
  while(($sess_arrayPhotos[$sess_arrind]["PhotoId"] <> $photo) && ($sess_arrind <
sizeof($sess_arrayPhotos)))
  {
   next($sess_arrayPhotos);
   $sess_arrind=$sess_arrind+1;
  }
$keyPos=$sess_arrind;

I would like to know if there is a way of doing this using array_search().

-in anticipation
-Naintara



-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




[PHP] array_search

2001-06-20 Thread Steen Rabol

Hi

How to figure out of a value is found using array_search ?

eg:

$myarray = array("val1","val2","val3");
if(array_search("val2",$myarray))
{
print "Value found";
}

the above will work, but...

if(array_search("val1",$myarray))
{
print "Value found";
}

the above will not work as "val1" is key 0, how can I solve this ?

Thanks in advance

Steen