PHP, относящийся к данным объектов с числовым ключом

Вот одно решение, которое использует некоторые дополнительные входные и выходные аргументы, которые 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'

11
задан Barmar 9 October 2017 в 22:42
поделиться

4 ответа

Это странность в PHP, вам нужно получить к нему доступ, используя $ object-> data -> {1} . Или вы можете преобразовать его обратно в массив для доступа к членам. Но я думаю, что лучше иметь собственные имена для членов объекта, попробуйте что-нибудь вроде этого, например:

$myobject->data = (object)Array('m0' => 'zero','m1' => 'one','m2' => 'two');
$myObject->data->m1;
20
ответ дан 3 December 2019 в 06:22
поделиться

Вы можете попробовать получить к нему доступ как к элементу массива. Но я не уверен, сработает это или нет. Однако вы можете перебирать элементы объекта (или, скорее, свойства) с помощью цикла foreach.

Примерно так:

foreach ($myobject->data as $key => $value)
    echo "$key is my key.<br />";

Я просто не уверен, есть ли у вас доступ к ключу.

1
ответ дан 3 December 2019 в 06:22
поделиться

Проблема в том, что $ counter автоматически преобразуется в строку для поиска. Попробуйте

$myobject->$counter = "abc";
var_dump($myobject);

, и вы поймете, о чем я. Чтобы обойти это использование, метод, предложенный Францем.

1
ответ дан 3 December 2019 в 06:22
поделиться
echo $myobject->data[$counter];

Если не ошибаюсь.

-3
ответ дан 3 December 2019 в 06:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: