Как я могу автоматически добавить свойство индекса в массив объектов PHP - PullRequest
0 голосов
/ 06 ноября 2011

Я строю массив объектов, например:

$my_array[] = (object) array(
    'url' => 'http://someurl.com',
    'created' => '06/26/2011',
    'some_value' => true,
);


$my_array[] = (object) array(
    'url' => 'http://someurl2.com',
    'created' => '07/26/2011',
    'some_value' => false,
);


$my_array[] = (object) array(
    'url' => 'http://someurl3.com',
    'created' => '08/26/2011',
    'some_value' => true,
);

Теперь я знаю, что генерирую значение индекса для ключа массива. Но я также хотел бы иметь значение индекса в качестве свойства внутри объекта, то есть index => 1, 2 или 3 в этом случае. За исключением того, что мне нужно, чтобы это было автоматически.

Есть ли что-то, что будет работать так? Куда автоматически добавляется $ key?

$my_array[] = (object) array(
            'index' => $key,
    'url' => 'http://someurl3.com',
    'created' => '08/26/2011',
    'some_value' => true,
);

Спасибо за любую помощь!

Ответы [ 2 ]

1 голос
/ 06 ноября 2011

Не уверен, почему вы захотите добавить ключ массива к элементу, это будет доступно вам, когда вы выполните цикл:

foreach ($my_array as $key => $element) 
{
    var_dump($element['url']);
    var_dump($key);
}

И просто вопрос, вы типизируете массивкак объект?

0 голосов
/ 06 ноября 2011

попробуйте использовать функцию ключа - http://php.net/manual/en/function.key.php

'index' => key( this ),

не уверен, что это сработает, но я бы пошел по этому пути

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...