|
|
|
#1 |
|
Messages: n/a
Hébergeur: |
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 ing. Bob |
|
|
|
#2 |
|
Messages: n/a
Hébergeur: |
> $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. |
|
|
|
#3 |
|
Messages: n/a
Hébergeur: |
On Nov 5, 3:44 pm, "Bob Bedford" <b...@bedford.com> 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 ing. > > Bob What have you tried already? We won't do your homeworks ;-) |
|
|
|
#4 |
|
Messages: n/a
Hébergeur: |
On Mon, 05 Nov 2007 17:14:20 +0100, Steve <no.one@example.com> wrote:
>> $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]); Yet he wants to find the record in $list[1]. OP: for a single search a foreach loop or customized array_filter come to 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 |
|
|
|
#5 |
|
Messages: n/a
Hébergeur: |
"Darko" <darko.maksimovic@gmail.com> a écrit dans le message de news: 1194279540.701715.22630@22g2000hsm.googlegroups.co m... > On Nov 5, 3:44 pm, "Bob Bedford" <b...@bedford.com> 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 ing. >> >> 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; } } } |
|
![]() |
| Outils de la discussion | |
|
|