Вот одно решение, которое использует некоторые дополнительные входные и выходные аргументы, которые UNIQUE имеет:
>> y = { 'd' 'f' 'a' 'g' 'g' 'a' 'w' 'h'}; %# Sample data
>> [~,index] = unique(y,'first'); %# Capture the index, ignore the actual values
>> y(sort(index)) %# Index y with the sorted index
ans =
'd' 'f' 'a' 'g' 'w' 'h'
Это странность в PHP, вам нужно получить к нему доступ, используя $ object-> data -> {1}
. Или вы можете преобразовать его обратно в массив для доступа к членам. Но я думаю, что лучше иметь собственные имена для членов объекта, попробуйте что-нибудь вроде этого, например:
$myobject->data = (object)Array('m0' => 'zero','m1' => 'one','m2' => 'two');
$myObject->data->m1;
Вы можете попробовать получить к нему доступ как к элементу массива. Но я не уверен, сработает это или нет.
Однако вы можете перебирать элементы объекта (или, скорее, свойства) с помощью цикла foreach.
Примерно так:
foreach ($myobject->data as $key => $value)
echo "$key is my key.<br />";
Я просто не уверен, есть ли у вас доступ к ключу.
Проблема в том, что $ counter
автоматически преобразуется в строку для поиска. Попробуйте
$myobject->$counter = "abc";
var_dump($myobject);
, и вы поймете, о чем я. Чтобы обойти это использование, метод, предложенный Францем.