Просмотр полной версии : [PHP] как узнать индекс массива из объекта
-=Static=-
21.03.2009, 18:07
Привет, хелп плиз.
Есть массив вида:
$array = (
0 => new obj1;
1 => new obj2;
3 => new obj3;
6 => new obj1;
8 => new obj2;
);
Как мне узнать из объекта например obj3 в какой ячейке массива $array он лежит???
всмысле из какого нить метода.
array_search
бл**ь, есть прикреплённая тема для таких вопорсов! или она не достойна тебя?
-=Static=-
21.03.2009, 19:06
сори, я потом об этом подумал ((
-=Static=-
21.03.2009, 19:17
+ В моей ситуации array_search не подойдет... Вот пример кода, в котором он непрально определяет индекс:
$ar = array(
0 => new A,
12 => new B,
1 => new B,
17 => new A,
);
class A
{
function foo()
{
echo "foo";
}
}
class B
{
function bar()
{
global $ar;
echo array_search($this, $ar);
}
}
$ar[1]->bar(); // Тут пишется 12, а должно быть 1
там и должно быть 12, потому как array_search возвращает первый найденный ключ массива.
Можно было бы как-то попытаться воспользоваться array_keys, указав ей вторым параметром переменную $this. Тогда она вернет все ключи, содержащие указанный экземпляр класса, но узнать точно где тот, который тебе нужен, ты не сможешь.
-=Static=- Исправь на echo array_search($this, $ar, true);
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot