[PHP] как узнать индекс массива из объекта

Discussion in 'PHP' started by -=Static=-, 21 Mar 2009.

  1. -=Static=-

    -=Static=- Banned

    Joined:
    12 Nov 2006
    Messages:
    201
    Likes Received:
    40
    Reputations:
    0
    Привет, хелп плиз.

    Есть массив вида:
    PHP:
    $array = (
            
    => new obj1;
            
    => new obj2;
            
    => new obj3;
            
    => new obj1;
            
    => new obj2;
    );
    Как мне узнать из объекта например obj3 в какой ячейке массива $array он лежит???

    всмысле из какого нить метода.
     
  2. 159932

    159932 Elder - Старейшина

    Joined:
    28 Sep 2007
    Messages:
    587
    Likes Received:
    462
    Reputations:
    5
    array_search

    бл**ь, есть прикреплённая тема для таких вопорсов! или она не достойна тебя?
     
  3. -=Static=-

    -=Static=- Banned

    Joined:
    12 Nov 2006
    Messages:
    201
    Likes Received:
    40
    Reputations:
    0
    сори, я потом об этом подумал ((
     
  4. -=Static=-

    -=Static=- Banned

    Joined:
    12 Nov 2006
    Messages:
    201
    Likes Received:
    40
    Reputations:
    0
    + В моей ситуации array_search не подойдет... Вот пример кода, в котором он непрально определяет индекс:

    PHP:
    $ar = array(
        
    => new A,
        
    12 => new B,
        
    => new B,
        
    17 => new A,
    );

    class 

    {
        function 
    foo()
        {
            echo 
    "foo";
        }
    }

    class 

    {
        function 
    bar()
        {
            global 
    $ar;
            echo 
    array_search($this$ar);
        }
    }

    $ar[1]->bar(); // Тут пишется 12, а должно быть 1
     
  5. t4Nk

    t4Nk Elder - Старейшина

    Joined:
    23 Sep 2007
    Messages:
    70
    Likes Received:
    33
    Reputations:
    0
    там и должно быть 12, потому как array_search возвращает первый найденный ключ массива.
    Можно было бы как-то попытаться воспользоваться array_keys, указав ей вторым параметром переменную $this. Тогда она вернет все ключи, содержащие указанный экземпляр класса, но узнать точно где тот, который тебе нужен, ты не сможешь.
     
    1 person likes this.
  6. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    -=Static=- Исправь на
    PHP:
            echo array_search($this$artrue); 
     
    _________________________
    1 person likes this.