search in an array of array

search in an array of array

am 05.11.2007 15:44:18 von Bob Bedford

Hello,

I've an array of array(1,2,3,4). I'd like to retrieve the values in 3 and 4
giving the values 1 and 2. How can I do that, how to search in an array of
array ? in short, how to write the findvalue function ?

$list = array();
array_push($list,array(1,1,'x','x');
array_push($list,array(1,2,'x','y');
array_push($list,array(2,1,'y','x');
array_push($list,array(2,2,'y','y');

$result = array();
$result = findvalue(1,2); //should return 'x','y'

function findvalue($a,$b){
//return the array of values...
}

Thanks for helping.

Bob

Re: search in an array of array

am 05.11.2007 17:14:20 von Steve

> $list = array();
> array_push($list,array(1,1,'x','x');
> array_push($list,array(1,2,'x','y');
> array_push($list,array(2,1,'y','x');
> array_push($list,array(2,2,'y','y');
>
> $result = array();
> $result = findvalue(1,2); //should return 'x','y'
>
> function findvalue($a,$b){
> //return the array of values...
> }

print_r($list[1][2]);


not sure why you need a function here.

Re: search in an array of array

am 05.11.2007 17:19:00 von darko

On Nov 5, 3:44 pm, "Bob Bedford" wrote:
> Hello,
>
> I've an array of array(1,2,3,4). I'd like to retrieve the values in 3 and 4
> giving the values 1 and 2. How can I do that, how to search in an array of
> array ? in short, how to write the findvalue function ?
>
> $list = array();
> array_push($list,array(1,1,'x','x');
> array_push($list,array(1,2,'x','y');
> array_push($list,array(2,1,'y','x');
> array_push($list,array(2,2,'y','y');
>
> $result = array();
> $result = findvalue(1,2); //should return 'x','y'
>
> function findvalue($a,$b){
> //return the array of values...
>
> }
>
> Thanks for helping.
>
> Bob

What have you tried already?
We won't do your homeworks ;-)

Re: search in an array of array

am 05.11.2007 17:38:40 von luiheidsgoeroe

On Mon, 05 Nov 2007 17:14:20 +0100, Steve wrote:

>> $list =3D array();
>> array_push($list,array(1,1,'x','x');
>> array_push($list,array(1,2,'x','y');
>> array_push($list,array(2,1,'y','x');
>> array_push($list,array(2,2,'y','y');
>>
>> $result =3D array();
>> $result =3D findvalue(1,2); //should return 'x','y'
>>
>> function findvalue($a,$b){
>> //return the array of values...
>> }
>
> print_r($list[1][2]);

Yet he wants to find the record in $list[1].

OP: for a single search a foreach loop or customized array_filter come t=
o =

mind. If you have to search a lot of entries, you might want to build an=
=

array of references, indezing the array. Be very, very sure you need it =
=

though, your code becomes somewhat unreadable by another coder.
-- =

Rik Wasmus

Re: search in an array of array

am 06.11.2007 12:20:42 von Bob Bedford

"Darko" a écrit dans le message de news:
1194279540.701715.22630@22g2000hsm.googlegroups.com...
> On Nov 5, 3:44 pm, "Bob Bedford" wrote:
>> Hello,
>>
>> I've an array of array(1,2,3,4). I'd like to retrieve the values in 3 and
>> 4
>> giving the values 1 and 2. How can I do that, how to search in an array
>> of
>> array ? in short, how to write the findvalue function ?
>>
>> $list = array();
>> array_push($list,array(1,1,'x','x');
>> array_push($list,array(1,2,'x','y');
>> array_push($list,array(2,1,'y','x');
>> array_push($list,array(2,2,'y','y');
>>
>> $result = array();
>> $result = findvalue(1,2); //should return 'x','y'
>>
>> function findvalue($a,$b){
>> //return the array of values...
>>
>> }
>>
>> Thanks for helping.
>>
>> Bob
>
> What have you tried already?
> We won't do your homeworks ;-)
>
>
I've a loop that goes trough all records of $list and check the values...not
sure is the best way to do so...my $list array contains about 1500 records
each is an array of 5 fields.

function findvalue($check1,$check2){
global $list

foreach ($list as $key => $value){
if(($value[0] = = $check1) and ($value[1] = = $check2)){
return array(strtoupper($value[3]),strtoupper($value[2]));
break;
}
}
}