[ PHPovac @ 13.01.2013. 11:22 ] @
Ćao svima!

Dakle, naslov je konfuzan, ali ne znam kako bolje da napišem.

Imam problem sa pristupanjem child elementa u array-u ako ne znam parent.

Recimo imam sledeći array

Code:

Array (
     [0] => Array (
                              [id] => 7
                              [title] => Lorem ipsum dolor eee
               )
     [1] => Array (
                              [id] => 4
                              [title] => Lorem ipsum dolor 123
               )
     [2] => Array (
                              [id] => 9
                              [title] => Lorem ipsum dolor aaa
               )
     [3] => Array (
                              [id] => 13
                              [title] => Lorem ipsum dolor vbb
               )
)


I hoću da pristupim item-u koji ima id = 7. Kako to da uradim, ako ne znam da li je on child itema 0 ili 1 ili štaveć.

Obično bih to rešio ovako, ali je to sporo i nije fleksibilno dovoljno.
Code (php):

$array = //neki array

function getArrayTitle($item_id) {
     foreach($array as $array_t => $array_z) {
          if($array_z['id'] == $item_id) {
               break;
               return $array[$array_t]['title'];
          }
     }
}
 


Dakle, da li posotoji neki drugi način?
[ ImPlant @ 13.01.2013. 20:57 ] @
cao Phpovac,

nisi naveo za sta bi se ovo koristilo i koliko cesto bi se koristilo. i da li sam pravis ovakav niz ili ga dobijas odnekud.

• ukoliko niz nema mnogo elemenata (<1000) ovo bi bilo ok resenje,
• ukoliko se cesto koristi i/ili ima mnogo elemenata mogao bi da preslozis niz tako da item_id bude kljuc
Code (php):

$array = array(
  7 => array('title' => 'Lorem ipsum dolor a'),
  4 => array('title' => 'Lorem ipsum dolor b'),
  9 => array('title' => 'Lorem ipsum dolor c'),
  13 => array('title' => 'Lorem ipsum dolor d'),
);

function getArrayTitle($item_id) {
  if(isset($array[$item_id])){
    return $array[$item_id]['title'];
  }
  return null; // ili '' ili 'no-title'
}
 


• ako ti kreiras niz moga bi da ga odmah kreiras sa id-em kao kljucem i opet koristis f-ju sa isset()

nadam se da ti je ovo od neke pomoci.
pozz