Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   [PHP] как узнать индекс массива из объекта (https://forum.antichat.xyz/showthread.php?t=112325)

-=Static=- 21.03.2009 18:07

[PHP] как узнать индекс массива из объекта
 
Привет, хелп плиз.

Есть массив вида:
PHP код:

$array = (
        
=> new obj1;
        
=> new obj2;
        
=> new obj3;
        
=> new obj1;
        
=> new obj2;
); 

Как мне узнать из объекта например obj3 в какой ячейке массива $array он лежит???

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

159932 21.03.2009 18:30

array_search

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

-=Static=- 21.03.2009 19:06

сори, я потом об этом подумал ((

-=Static=- 21.03.2009 19:17

+ В моей ситуации 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 


t4Nk 21.03.2009 20:49

там и должно быть 12, потому как array_search возвращает первый найденный ключ массива.
Можно было бы как-то попытаться воспользоваться array_keys, указав ей вторым параметром переменную $this. Тогда она вернет все ключи, содержащие указанный экземпляр класса, но узнать точно где тот, который тебе нужен, ты не сможешь.

Gifts 21.03.2009 21:13

-=Static=- Исправь на
PHP код:

        echo array_search($this$artrue); 



Время: 08:10