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